mirror of
https://github.com/rofafor/vdr-plugin-femon.git
synced 2023-10-10 11:36:53 +00:00
Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
136c9fb73c | ||
|
|
9ca1fcb378 | ||
|
|
1cfbd0b730 | ||
|
|
152e87d443 | ||
|
|
08223cf6c4 | ||
|
|
84572d2187 | ||
|
|
78554b53b6 | ||
|
|
11554a8d7e | ||
|
|
0d06635520 | ||
|
|
eedab47c35 | ||
|
|
cba5171a09 | ||
|
|
91d6cb4074 | ||
|
|
bf222dc7ff | ||
|
|
33176e9a77 | ||
|
|
0a4e5d912c | ||
|
|
3648b46fa2 |
30
HISTORY
30
HISTORY
@@ -1,4 +1,3 @@
|
||||
|
||||
===================================
|
||||
VDR Plugin 'femon' Revision History
|
||||
===================================
|
||||
@@ -66,6 +65,7 @@ VDR Plugin 'femon' Revision History
|
||||
|
||||
- Backported changes and fixes from version 0.1.6.
|
||||
|
||||
|
||||
===================================
|
||||
VDR Plugin 'femon' Revision History
|
||||
===================================
|
||||
@@ -343,6 +343,7 @@ VDR Plugin 'femon' Revision History
|
||||
|
||||
- Backported from 1.7.2.
|
||||
|
||||
|
||||
===================================
|
||||
VDR Plugin 'femon' Revision History
|
||||
===================================
|
||||
@@ -464,3 +465,30 @@ VDR Plugin 'femon' Revision History
|
||||
|
||||
- Updated for vdr-1.7.40.
|
||||
- Updated French translation (Thanks to Bernard Jaulin).
|
||||
|
||||
|
||||
===================================
|
||||
VDR Plugin 'femon' Revision History
|
||||
===================================
|
||||
|
||||
2013-04-01: Version 2.0.0
|
||||
|
||||
- Updated for vdr-2.0.0.
|
||||
- Added Slovak translation (Thanks to Milan Hrala).
|
||||
|
||||
2014-01-10: Version 2.0.1
|
||||
|
||||
- Fixed a crash in SVDRP (Thanks for Lothar Englisch for reporting).
|
||||
- Fixed a memory leak and issues reported by scan-build tool.
|
||||
|
||||
2014-01-18: Version 2.0.2
|
||||
|
||||
- Added initial support for CAMs.
|
||||
|
||||
2014-03-08: Version 2.0.3
|
||||
|
||||
- Added support for SAT>IP devices.
|
||||
|
||||
2014-03-15: Version 2.0.4
|
||||
|
||||
- Refactored the SAT>IP support.
|
||||
|
||||
2
Makefile
2
Makefile
@@ -24,7 +24,7 @@ GITTAG = $(shell git describe --always 2>/dev/null)
|
||||
### The directory environment:
|
||||
|
||||
# Use package data if installed...otherwise assume we're under the VDR source directory:
|
||||
PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
|
||||
PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell PKG_CONFIG_PATH="$$PKG_CONFIG_PATH:../../.." pkg-config --variable=$(1) vdr))
|
||||
LIBDIR = $(call PKGCFG,libdir)
|
||||
LOCDIR = $(call PKGCFG,locdir)
|
||||
PLGCFG = $(call PKGCFG,plgcfg)
|
||||
|
||||
7
README
7
README
@@ -71,13 +71,8 @@ Left/Right - Switch to next/previous device that provides the current channel
|
||||
|
||||
Installation:
|
||||
|
||||
cd /put/your/path/here/VDR/PLUGINS/src
|
||||
tar -xzf /put/your/path/here/vdr-femon-X.Y.Z.tgz
|
||||
ln -s femon-X.Y.Z femon
|
||||
cd /put/your/path/here/VDR
|
||||
make
|
||||
make plugins
|
||||
./vdr -P femon
|
||||
make -C femon-X.Y.Z install
|
||||
|
||||
Client-server architecture:
|
||||
|
||||
|
||||
15
femon.c
15
femon.c
@@ -14,15 +14,15 @@
|
||||
#include "femonservice.h"
|
||||
#include "femontools.h"
|
||||
|
||||
#if defined(APIVERSNUM) && APIVERSNUM < 10740
|
||||
#error "VDR-1.7.40 API version or greater is required!"
|
||||
#if defined(APIVERSNUM) && APIVERSNUM < 20000
|
||||
#error "VDR-2.0.0 API version or greater is required!"
|
||||
#endif
|
||||
|
||||
#ifndef GITVERSION
|
||||
#define GITVERSION ""
|
||||
#endif
|
||||
|
||||
static const char VERSION[] = "1.7.19" GITVERSION;
|
||||
static const char VERSION[] = "2.0.4" GITVERSION;
|
||||
static const char DESCRIPTION[] = trNOOP("DVB Signal Information Monitor (OSD)");
|
||||
static const char MAINMENUENTRY[] = trNOOP("Signal Information");
|
||||
|
||||
@@ -204,11 +204,11 @@ cString cPluginFemon::SVDRPCommand(const char *Command, const char *Option, int
|
||||
if (dev2)
|
||||
dev = dev2;
|
||||
}
|
||||
if (cReplayControl::NowReplaying() || !dev) {
|
||||
ReplyCode = 550; // Requested action not taken
|
||||
return cString("Cannot open femon plugin while replaying");
|
||||
}
|
||||
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(Name());
|
||||
return cString("Opening femon plugin");
|
||||
@@ -318,6 +318,7 @@ cMenuFemonSetup::cMenuFemonSetup(void)
|
||||
themes[eFemonThemePearlHD] = tr("PearlHD");
|
||||
|
||||
data = femonConfig;
|
||||
SetMenuCategory(mcSetupPlugins);
|
||||
Setup();
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
BIN
femonclient/vdr-femonclient-0.0.6.tgz
Normal file
BIN
femonclient/vdr-femonclient-0.0.6.tgz
Normal file
Binary file not shown.
121
femonosd.c
121
femonosd.c
@@ -490,7 +490,6 @@ void cFemonOsd::DrawInfoWindow(void)
|
||||
OSDDRAWINFOLEFT(tr("Protocol"), *data.protocol);
|
||||
offset += OSDROWHEIGHT;
|
||||
OSDDRAWINFOLEFT(tr("Bitrate"), *data.bitrate);
|
||||
offset += OSDROWHEIGHT;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -626,6 +625,23 @@ void cFemonOsd::Action(void)
|
||||
m_BERValid = (ioctl(m_Frontend, FE_READ_BER, &m_BER) >= 0);
|
||||
m_UNCValid = (ioctl(m_Frontend, FE_READ_UNCORRECTED_BLOCKS, &m_UNC) >= 0);
|
||||
}
|
||||
else if (strstr(*cDevice::ActualDevice()->DeviceType(), SATIP_DEVICE)) {
|
||||
m_Quality = cDevice::ActualDevice()->SignalQuality();
|
||||
m_QualityValid = (m_Quality >= 0);
|
||||
m_Strength = cDevice::ActualDevice()->SignalStrength();
|
||||
m_StrengthValid = (m_Strength >= 0);
|
||||
m_FrontendName = cDevice::ActualDevice()->DeviceName();
|
||||
m_FrontendStatus = (fe_status_t)(cDevice::ActualDevice()->HasLock() ? (FE_HAS_LOCK | FE_HAS_SIGNAL | FE_HAS_CARRIER | FE_HAS_VITERBI | FE_HAS_SYNC) : 0);
|
||||
m_FrontendStatusValid = m_StrengthValid;
|
||||
m_Signal = uint16_t(m_Strength * 0xFFFF / 100);
|
||||
m_SignalValid = m_StrengthValid;
|
||||
m_SNR = uint16_t(m_Quality * 0xFFFF / 100);
|
||||
m_SNRValid = m_QualityValid;
|
||||
m_BER = 0;
|
||||
m_BERValid = false;
|
||||
m_UNC = 0;
|
||||
m_UNCValid = false;
|
||||
}
|
||||
else if (m_SvdrpConnection.handle >= 0) {
|
||||
cmd.handle = m_SvdrpConnection.handle;
|
||||
m_SvdrpPlugin->Service("SvdrpCommand-v1.0", &cmd);
|
||||
@@ -716,6 +732,9 @@ void cFemonOsd::Show(void)
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (strstr(*cDevice::ActualDevice()->DeviceType(), SATIP_DEVICE)) {
|
||||
// nop
|
||||
}
|
||||
else if (femonConfig.usesvdrp) {
|
||||
if (!SvdrpConnect() || !SvdrpTune())
|
||||
return;
|
||||
@@ -790,6 +809,9 @@ void cFemonOsd::ChannelSwitch(const cDevice * device, int channelNumber, bool li
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (strstr(*cDevice::ActualDevice()->DeviceType(), SATIP_DEVICE)) {
|
||||
// nop
|
||||
}
|
||||
else if (femonConfig.usesvdrp) {
|
||||
if (!SvdrpConnect() || !SvdrpTune())
|
||||
return;
|
||||
@@ -836,26 +858,83 @@ bool cFemonOsd::DeviceSwitch(int direction)
|
||||
cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel());
|
||||
if (channel) {
|
||||
for (int i = 0; i < cDevice::NumDevices() - 1; i++) {
|
||||
if (direction >= 0) {
|
||||
if (++device >= cDevice::NumDevices())
|
||||
device = 0;
|
||||
}
|
||||
else {
|
||||
if (--device < 0)
|
||||
device = cDevice::NumDevices() - 1;
|
||||
}
|
||||
if (cDevice::GetDevice(device)->ProvidesChannel(channel, 0)) {
|
||||
debug("%s(%d) device(%d)\n", __PRETTY_FUNCTION__, direction, device);
|
||||
cStatus::MsgChannelSwitch(cDevice::PrimaryDevice(), 0, true);
|
||||
cControl::Shutdown();
|
||||
cDevice::GetDevice(device)->SwitchChannel(channel, true);
|
||||
if (cDevice::GetDevice(device) == cDevice::PrimaryDevice())
|
||||
cDevice::GetDevice(device)->ForceTransferMode();
|
||||
cControl::Launch(new cTransferControl(cDevice::GetDevice(device), channel));
|
||||
cStatus::MsgChannelSwitch(cDevice::PrimaryDevice(), channel->Number(), true);
|
||||
return (true);
|
||||
}
|
||||
}
|
||||
if (direction >= 0) {
|
||||
if (++device >= cDevice::NumDevices())
|
||||
device = 0;
|
||||
}
|
||||
else {
|
||||
if (--device < 0)
|
||||
device = cDevice::NumDevices() - 1;
|
||||
}
|
||||
// Collect the current priorities of all CAM slots that can decrypt the channel:
|
||||
int NumCamSlots = CamSlots.Count();
|
||||
int SlotPriority[NumCamSlots];
|
||||
int NumUsableSlots = 0;
|
||||
bool NeedsDetachAllReceivers = false;
|
||||
bool InternalCamNeeded = false;
|
||||
bool ValidDevice = false;
|
||||
cCamSlot *s = NULL;
|
||||
cDevice *d = cDevice::GetDevice(device);
|
||||
if (channel->Ca() >= CA_ENCRYPTED_MIN) {
|
||||
for (cCamSlot *CamSlot = CamSlots.First(); CamSlot; CamSlot = CamSlots.Next(CamSlot)) {
|
||||
SlotPriority[CamSlot->Index()] = MAXPRIORITY + 1; // assumes it can't be used
|
||||
if (CamSlot->ModuleStatus() == msReady) {
|
||||
if (CamSlot->ProvidesCa(channel->Caids())) {
|
||||
if (!ChannelCamRelations.CamChecked(channel->GetChannelID(), CamSlot->SlotNumber())) {
|
||||
SlotPriority[CamSlot->Index()] = CamSlot->Priority();
|
||||
NumUsableSlots++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!NumUsableSlots)
|
||||
InternalCamNeeded = true; // no CAM is able to decrypt this channel
|
||||
}
|
||||
for (int j = 0; j < NumCamSlots || !NumUsableSlots; ++j) {
|
||||
if (NumUsableSlots && SlotPriority[j] > MAXPRIORITY)
|
||||
continue; // there is no CAM available in this slot
|
||||
bool HasInternalCam = d->HasInternalCam();
|
||||
if (InternalCamNeeded && !HasInternalCam)
|
||||
continue; // no CAM is able to decrypt this channel and the device uses vdr handled CAMs
|
||||
if (NumUsableSlots && !HasInternalCam && !CamSlots.Get(j)->Assign(d, true))
|
||||
continue; // CAM slot can't be used with this device
|
||||
if (d->ProvidesChannel(channel, 0, &NeedsDetachAllReceivers)) { // this device is basically able to do the job
|
||||
debug("%s(%d) device(%d)\n", __PRETTY_FUNCTION__, direction, device);
|
||||
if (NumUsableSlots && !HasInternalCam && d->CamSlot() && d->CamSlot() != CamSlots.Get(j))
|
||||
NeedsDetachAllReceivers = true; // using a different CAM slot requires detaching receivers
|
||||
if (NumUsableSlots && !HasInternalCam)
|
||||
s = CamSlots.Get(j);
|
||||
ValidDevice = true;
|
||||
break;
|
||||
}
|
||||
if (!NumUsableSlots)
|
||||
break; // no CAM necessary, so just one loop over the devices
|
||||
}
|
||||
// Do the actual switch if valid device found
|
||||
if (d && ValidDevice) {
|
||||
cStatus::MsgChannelSwitch(cDevice::PrimaryDevice(), 0, true);
|
||||
cControl::Shutdown();
|
||||
if (NeedsDetachAllReceivers)
|
||||
d->DetachAllReceivers();
|
||||
if (s) {
|
||||
if (s->Device() != d) {
|
||||
if (s->Device())
|
||||
s->Device()->DetachAllReceivers();
|
||||
if (d->CamSlot())
|
||||
d->CamSlot()->Assign(NULL);
|
||||
s->Assign(d);
|
||||
}
|
||||
}
|
||||
else if (d->CamSlot() && !d->CamSlot()->IsDecrypting())
|
||||
d->CamSlot()->Assign(NULL);
|
||||
d->SwitchChannel(channel, true);
|
||||
if (d == cDevice::PrimaryDevice())
|
||||
d->ForceTransferMode();
|
||||
cControl::Launch(new cTransferControl(d, channel));
|
||||
cStatus::MsgChannelSwitch(cDevice::PrimaryDevice(), channel->Number(), true);
|
||||
return (true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return (false);
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
#include "symbols/format480i.xpm"
|
||||
#include "symbols/format480p.xpm"
|
||||
|
||||
static cBitmap bmOnePixel(1, 1, 1);
|
||||
static cBitmap bmStereo(stereo_xpm);
|
||||
static cBitmap bmMonoLeft(monoleft_xpm);
|
||||
static cBitmap bmMonoRight(monoright_xpm);
|
||||
@@ -134,49 +135,50 @@ bool cFemonSymbolCache::Populate(void)
|
||||
Flush();
|
||||
|
||||
// pushing order must follow the enumeration - keep original proportions except for frontend status ones
|
||||
cacheM.Append(bmStereo.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_STEREO
|
||||
cacheM.Append(bmMonoLeft.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_MONO_LEFT
|
||||
cacheM.Append(bmMonoRight.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_MONO_RIGHT
|
||||
cacheM.Append(bmDolbyDigital.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_DD
|
||||
cacheM.Append(bmDolbyDigital20.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_DD20
|
||||
cacheM.Append(bmDolbyDigital51.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_DD51
|
||||
cacheM.Append(bmMpeg2.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_MPEG2
|
||||
cacheM.Append(bmH264.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_H264
|
||||
cacheM.Append(bmPal.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_PAL
|
||||
cacheM.Append(bmNtsc.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_NTSC
|
||||
cacheM.Append(bmEncrypted.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_ENCRYPTED
|
||||
cacheM.Append(bmSvdrp.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_SVDRP
|
||||
cacheM.Append(bmLock.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_LOCK
|
||||
cacheM.Append(bmSignal.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_SIGNAL
|
||||
cacheM.Append(bmCarrier.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_CARRIER
|
||||
cacheM.Append(bmViterbi.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_VITERBI
|
||||
cacheM.Append(bmSync.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_SYNC
|
||||
cacheM.Append(bmAspectRatio11.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_AR_1_1
|
||||
cacheM.Append(bmAspectRatio169.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_AR_16_9
|
||||
cacheM.Append(bmOnePixel.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_ONEPIXEL
|
||||
cacheM.Append(bmStereo.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_STEREO
|
||||
cacheM.Append(bmMonoLeft.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_MONO_LEFT
|
||||
cacheM.Append(bmMonoRight.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_MONO_RIGHT
|
||||
cacheM.Append(bmDolbyDigital.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_DD
|
||||
cacheM.Append(bmDolbyDigital20.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_DD20
|
||||
cacheM.Append(bmDolbyDigital51.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_DD51
|
||||
cacheM.Append(bmMpeg2.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_MPEG2
|
||||
cacheM.Append(bmH264.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_H264
|
||||
cacheM.Append(bmPal.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_PAL
|
||||
cacheM.Append(bmNtsc.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_NTSC
|
||||
cacheM.Append(bmEncrypted.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_ENCRYPTED
|
||||
cacheM.Append(bmSvdrp.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_SVDRP
|
||||
cacheM.Append(bmLock.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_LOCK
|
||||
cacheM.Append(bmSignal.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_SIGNAL
|
||||
cacheM.Append(bmCarrier.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_CARRIER
|
||||
cacheM.Append(bmViterbi.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_VITERBI
|
||||
cacheM.Append(bmSync.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_SYNC
|
||||
cacheM.Append(bmAspectRatio11.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_AR_1_1
|
||||
cacheM.Append(bmAspectRatio169.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_AR_16_9
|
||||
cacheM.Append(bmAspectRatio2211.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_AR_2_21_1
|
||||
cacheM.Append(bmAspectRatio43.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_AR_4_3
|
||||
cacheM.Append(bmDevice.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_DEVICE
|
||||
cacheM.Append(bmZero.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_ZERO
|
||||
cacheM.Append(bmOne.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_ONE
|
||||
cacheM.Append(bmTwo.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_TWO
|
||||
cacheM.Append(bmThree.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_THREE
|
||||
cacheM.Append(bmFour.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FOUR
|
||||
cacheM.Append(bmFive.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FIVE
|
||||
cacheM.Append(bmSix.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_SIX
|
||||
cacheM.Append(bmSeven.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_SEVEN
|
||||
cacheM.Append(bmEight.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_EIGHT
|
||||
cacheM.Append(bmFormat1080.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_1080
|
||||
cacheM.Append(bmFormat1080i.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_1080i
|
||||
cacheM.Append(bmFormat1080p.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_1080p
|
||||
cacheM.Append(bmFormat720.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_720
|
||||
cacheM.Append(bmFormat720i.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_720i
|
||||
cacheM.Append(bmFormat720p.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_720p
|
||||
cacheM.Append(bmFormat576.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_576
|
||||
cacheM.Append(bmFormat576i.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_576i
|
||||
cacheM.Append(bmFormat576p.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_576p
|
||||
cacheM.Append(bmFormat480.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_480
|
||||
cacheM.Append(bmFormat480i.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_480i
|
||||
cacheM.Append(bmFormat480p.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_480p
|
||||
cacheM.Append(bmAspectRatio43.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_AR_4_3
|
||||
cacheM.Append(bmDevice.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_DEVICE
|
||||
cacheM.Append(bmZero.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_ZERO
|
||||
cacheM.Append(bmOne.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_ONE
|
||||
cacheM.Append(bmTwo.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_TWO
|
||||
cacheM.Append(bmThree.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_THREE
|
||||
cacheM.Append(bmFour.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FOUR
|
||||
cacheM.Append(bmFive.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FIVE
|
||||
cacheM.Append(bmSix.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_SIX
|
||||
cacheM.Append(bmSeven.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_SEVEN
|
||||
cacheM.Append(bmEight.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_EIGHT
|
||||
cacheM.Append(bmFormat1080.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_1080
|
||||
cacheM.Append(bmFormat1080i.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_1080i
|
||||
cacheM.Append(bmFormat1080p.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_1080p
|
||||
cacheM.Append(bmFormat720.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_720
|
||||
cacheM.Append(bmFormat720i.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_720i
|
||||
cacheM.Append(bmFormat720p.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_720p
|
||||
cacheM.Append(bmFormat576.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_576
|
||||
cacheM.Append(bmFormat576i.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_576i
|
||||
cacheM.Append(bmFormat576p.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_576p
|
||||
cacheM.Append(bmFormat480.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_480
|
||||
cacheM.Append(bmFormat480i.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_480i
|
||||
cacheM.Append(bmFormat480p.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_480p
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -197,7 +199,7 @@ bool cFemonSymbolCache::Flush(void)
|
||||
|
||||
cBitmap& cFemonSymbolCache::Get(eSymbols symbolP)
|
||||
{
|
||||
cBitmap *bitmapM = NULL;
|
||||
cBitmap *bitmapM = cacheM[SYMBOL_ONEPIXEL];
|
||||
|
||||
if (symbolP < cacheM.Size())
|
||||
bitmapM = cacheM[symbolP];
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#include <vdr/osd.h>
|
||||
|
||||
enum eSymbols {
|
||||
SYMBOL_ONEPIXEL,
|
||||
SYMBOL_STEREO,
|
||||
SYMBOL_MONO_LEFT,
|
||||
SYMBOL_MONO_RIGHT,
|
||||
@@ -77,8 +78,8 @@ public:
|
||||
~cFemonSymbolCache();
|
||||
void Refresh();
|
||||
cBitmap& Get(eSymbols symbolP);
|
||||
int GetSpacing() { return int(yFactorM * DEFAULT_SPACING); }
|
||||
int GetRounding() { return int(yFactorM * DEFAULT_ROUNDING); }
|
||||
int GetSpacing() { return int(yFactorM * cFemonSymbolCache::DEFAULT_SPACING); }
|
||||
int GetRounding() { return int(yFactorM * cFemonSymbolCache::DEFAULT_ROUNDING); }
|
||||
};
|
||||
|
||||
extern cFemonSymbolCache femonSymbols;
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#define __STDC_FORMAT_MACROS
|
||||
#endif
|
||||
|
||||
#include <ctype.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
@@ -26,6 +26,8 @@
|
||||
|
||||
#define FRONTEND_DEVICE "/dev/dvb/adapter%d/frontend%d"
|
||||
|
||||
#define SATIP_DEVICE "SAT>IP"
|
||||
|
||||
cDvbDevice *getDvbDevice(cDevice* device);
|
||||
|
||||
cString getFrontendInfo(cDvbDevice *device);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2007 Rolf Ahrenberg
|
||||
# Copyright (C) 2007-2014 Rolf Ahrenberg
|
||||
# This file is distributed under the same license as the femon package.
|
||||
# Peter Marquardt
|
||||
# Andreas Brachold
|
||||
@@ -7,10 +7,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vdr-femon 1.7.19\n"
|
||||
"Project-Id-Version: vdr-femon 2.0.4\n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2010-10-10 10:10+0300\n"
|
||||
"PO-Revision-Date: 2010-10-10 10:10+0300\n"
|
||||
"POT-Creation-Date: 2014-03-15 03:15+0200\n"
|
||||
"PO-Revision-Date: 2014-03-15 03:15+0200\n"
|
||||
"Last-Translator: Christian Wieninger\n"
|
||||
"Language-Team: German <vdr@linuxtv.org>\n"
|
||||
"Language: de\n"
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2007 Rolf Ahrenberg
|
||||
# Copyright (C) 2007-2014 Rolf Ahrenberg
|
||||
# This file is distributed under the same license as the femon package.
|
||||
# Luis Palacios
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vdr-femon 1.7.19\n"
|
||||
"Project-Id-Version: vdr-femon 2.0.4\n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2010-10-10 10:10+0300\n"
|
||||
"PO-Revision-Date: 2010-10-10 10:10+0300\n"
|
||||
"POT-Creation-Date: 2014-03-15 03:15+0200\n"
|
||||
"PO-Revision-Date: 2014-03-15 03:15+0200\n"
|
||||
"Last-Translator: Luis Palacios\n"
|
||||
"Language-Team: Spanish <vdr@linuxtv.org>\n"
|
||||
"Language: es\n"
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2007 Rolf Ahrenberg
|
||||
# Copyright (C) 2007-2014 Rolf Ahrenberg
|
||||
# This file is distributed under the same license as the femon package.
|
||||
# Arthur Konovalov
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vdr-femon 1.7.19\n"
|
||||
"Project-Id-Version: vdr-femon 2.0.4\n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2010-10-10 10:10+0300\n"
|
||||
"PO-Revision-Date: 2010-10-10 10:10+0300\n"
|
||||
"POT-Creation-Date: 2014-03-15 03:15+0200\n"
|
||||
"PO-Revision-Date: 2014-03-15 03:15+0200\n"
|
||||
"Last-Translator: Arthur Konovalov\n"
|
||||
"Language-Team: Estonian <vdr@linuxtv.org>\n"
|
||||
"Language: et\n"
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2007 Rolf Ahrenberg
|
||||
# Copyright (C) 2007-2014 Rolf Ahrenberg
|
||||
# This file is distributed under the same license as the femon package.
|
||||
# Rolf Ahrenberg
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vdr-femon 1.7.19\n"
|
||||
"Project-Id-Version: vdr-femon 2.0.4\n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2010-10-10 10:10+0300\n"
|
||||
"PO-Revision-Date: 2010-10-10 10:10+0300\n"
|
||||
"POT-Creation-Date: 2014-03-15 03:15+0200\n"
|
||||
"PO-Revision-Date: 2014-03-15 03:15+0200\n"
|
||||
"Last-Translator: Rolf Ahrenberg\n"
|
||||
"Language-Team: Finnish <vdr@linuxtv.org>\n"
|
||||
"Language: fi\n"
|
||||
|
||||
14
po/fr_FR.po
14
po/fr_FR.po
@@ -1,5 +1,5 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2007 Rolf Ahrenberg
|
||||
# Copyright (C) 2007-2014 Rolf Ahrenberg
|
||||
# This file is distributed under the same license as the femon package.
|
||||
# Nicolas Huillard
|
||||
# Michaël Nival <mnival@club-internet.fr>, 2010
|
||||
@@ -7,10 +7,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vdr-femon 1.7.19\n"
|
||||
"Project-Id-Version: vdr-femon 2.0.4\n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2010-10-10 10:10+0300\n"
|
||||
"PO-Revision-Date: 2010-10-10 10:10+0300\n"
|
||||
"POT-Creation-Date: 2014-03-15 03:15+0200\n"
|
||||
"PO-Revision-Date: 2014-03-15 03:15+0200\n"
|
||||
"Last-Translator: Bernard Jaulin <bernard.jaulin@gmail.com>\n"
|
||||
"Language-Team: French <vdr@linuxtv.org>\n"
|
||||
"Language: fr\n"
|
||||
@@ -19,10 +19,10 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
msgid "DVB Signal Information Monitor (OSD)"
|
||||
msgstr "Affiche les informations du signal DVB"
|
||||
msgstr "Moniteur sur le signal DVB"
|
||||
|
||||
msgid "Signal Information"
|
||||
msgstr "Infos sur le signal"
|
||||
msgstr "Infos sur le signal DVB"
|
||||
|
||||
msgid "Femon not available"
|
||||
msgstr "Femon n'est pas disponible"
|
||||
@@ -187,7 +187,7 @@ msgid "Bitrate"
|
||||
msgstr "Taux d'échantillonnage fixe"
|
||||
|
||||
msgid "Stream Information"
|
||||
msgstr "Information du flux"
|
||||
msgstr "Information sur le flux"
|
||||
|
||||
msgid "Video Stream"
|
||||
msgstr "Flux vidéo"
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2007 Rolf Ahrenberg
|
||||
# Copyright (C) 2007-2014 Rolf Ahrenberg
|
||||
# This file is distributed under the same license as the femon package.
|
||||
# F<>ley Istv<74>n <ifuley at tigercomp dot ro>, 2011
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vdr-femon 1.7.19\n"
|
||||
"Project-Id-Version: vdr-femon 2.0.4\n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2010-10-10 10:10+0300\n"
|
||||
"PO-Revision-Date: 2010-10-10 10:10+0200\n"
|
||||
"POT-Creation-Date: 2014-03-15 03:15+0200\n"
|
||||
"PO-Revision-Date: 2014-03-15 03:15+0200\n"
|
||||
"Last-Translator: F<>ley Istv<74>n <ifuley at tigercomp dot ro>\n"
|
||||
"Language-Team: Hungarian <ifuley at tigercomp dot ro>\n"
|
||||
"Language: hu\n"
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2007 Rolf Ahrenberg
|
||||
# Copyright (C) 2007-2014 Rolf Ahrenberg
|
||||
# This file is distributed under the same license as the femon package.
|
||||
# Sean Carlos
|
||||
# Diego Pierotto <vdr-italian@tiscali.it>
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vdr-femon 1.7.19\n"
|
||||
"Project-Id-Version: vdr-femon 2.0.4\n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2010-10-10 10:10+0300\n"
|
||||
"PO-Revision-Date: 2010-10-10 10:10+0300\n"
|
||||
"POT-Creation-Date: 2014-03-15 03:15+0200\n"
|
||||
"PO-Revision-Date: 2014-03-15 03:15+0200\n"
|
||||
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
|
||||
"Language-Team: Italian <vdr@linuxtv.org>\n"
|
||||
"Language: it\n"
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2007 Rolf Ahrenberg
|
||||
# Copyright (C) 2007-2014 Rolf Ahrenberg
|
||||
# This file is distributed under the same license as the femon package.
|
||||
# Valdemaras Pipiras
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vdr-femon 1.7.19\n"
|
||||
"Project-Id-Version: vdr-femon 2.0.4\n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2010-10-10 10:10+0300\n"
|
||||
"PO-Revision-Date: 2010-10-10 10:10+0300\n"
|
||||
"POT-Creation-Date: 2014-03-15 03:15+0200\n"
|
||||
"PO-Revision-Date: 2014-03-15 03:15+0200\n"
|
||||
"Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n"
|
||||
"Language-Team: Lithuanian <vdr@linuxtv.org>\n"
|
||||
"Language: lt\n"
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2007 Rolf Ahrenberg
|
||||
# Copyright (C) 2007-2014 Rolf Ahrenberg
|
||||
# This file is distributed under the same license as the femon package.
|
||||
# Vyacheslav Dikonov
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vdr-femon 1.7.19\n"
|
||||
"Project-Id-Version: vdr-femon 2.0.4\n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2010-10-10 10:10+0300\n"
|
||||
"PO-Revision-Date: 2010-10-10 10:10+0300\n"
|
||||
"POT-Creation-Date: 2014-03-15 03:15+0200\n"
|
||||
"PO-Revision-Date: 2014-03-15 03:15+0200\n"
|
||||
"Last-Translator: Vyacheslav Dikonov\n"
|
||||
"Language-Team: Russian <vdr@linuxtv.org>\n"
|
||||
"Language: ru\n"
|
||||
|
||||
389
po/sk_SK.po
Normal file
389
po/sk_SK.po
Normal file
@@ -0,0 +1,389 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2007-2014 Rolf Ahrenberg
|
||||
# This file is distributed under the same license as the femon package.
|
||||
# Milan Hrala
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vdr-femon 2.0.4\n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2014-03-15 03:15+0200\n"
|
||||
"PO-Revision-Date: 2014-03-15 03:15+0200\n"
|
||||
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
|
||||
"Language-Team: Slovak <vdr@linuxtv.org>\n"
|
||||
"Language: sk\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=iso-8859-2\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
msgid "DVB Signal Information Monitor (OSD)"
|
||||
msgstr "DVB Inform<72>cie o sign<67>le (OSD)"
|
||||
|
||||
msgid "Signal Information"
|
||||
msgstr "Inform<72>cie o sign<67>le"
|
||||
|
||||
msgid "Femon not available"
|
||||
msgstr "Femon nie je k dispoz<6F>cii"
|
||||
|
||||
msgid "basic"
|
||||
msgstr "<22>tandardtn<74>"
|
||||
|
||||
msgid "transponder"
|
||||
msgstr "Transpond<6E>r"
|
||||
|
||||
msgid "stream"
|
||||
msgstr "d<>tov<6F> tok"
|
||||
|
||||
msgid "AC-3"
|
||||
msgstr "AC-3"
|
||||
|
||||
msgid "Classic"
|
||||
msgstr "Klasick<63>"
|
||||
|
||||
msgid "Elchi"
|
||||
msgstr "Elchi"
|
||||
|
||||
msgid "ST:TNG"
|
||||
msgstr "ST:TNG"
|
||||
|
||||
msgid "DeepBlue"
|
||||
msgstr "tmavo modr<64>"
|
||||
|
||||
msgid "Moronimo"
|
||||
msgstr "Moronimo"
|
||||
|
||||
msgid "Enigma"
|
||||
msgstr "Enigma"
|
||||
|
||||
msgid "EgalsTry"
|
||||
msgstr "EgalsTry"
|
||||
|
||||
msgid "Duotone"
|
||||
msgstr "Duotone"
|
||||
|
||||
msgid "SilverGreen"
|
||||
msgstr "strieborno zelen<65>"
|
||||
|
||||
msgid "PearlHD"
|
||||
msgstr "PearlHD"
|
||||
|
||||
msgid "Hide main menu entry"
|
||||
msgstr "Schova<76> polo<6C>ku v hlavnom menu"
|
||||
|
||||
msgid "Define whether the main menu entry is hidden."
|
||||
msgstr "Ur<55>ite, <20>i v hlavnom menu bude polo<6C>ka skryt<79>."
|
||||
|
||||
msgid "Default display mode"
|
||||
msgstr "<22>tandardn<64> re<72>im zobrazenia"
|
||||
|
||||
msgid "Define the default display mode at startup."
|
||||
msgstr "Zadajte predvolen<65> re<72>im zobrazenia pri spusten<65>."
|
||||
|
||||
msgid "Define the used OSD skin."
|
||||
msgstr "Zadajte pou<6F>it<69> OSD vzh<7A>ad."
|
||||
|
||||
msgid "Define the used OSD theme."
|
||||
msgstr "Definujte pou<6F>it<69> OSD t<>mu."
|
||||
|
||||
msgid "Position"
|
||||
msgstr "Poz<6F>cia"
|
||||
|
||||
msgid "Define the position of OSD."
|
||||
msgstr "Definujte poz<6F>ciu OSD."
|
||||
|
||||
msgid "Downscale OSD size [%]"
|
||||
msgstr "Zmen<65>i<EFBFBD> ve<76>kos<6F> OSD [%]"
|
||||
|
||||
msgid "Define the downscale ratio for OSD size."
|
||||
msgstr "Zadajte zmen<65>enie pomeru pre OSD ve<76>kosti."
|
||||
|
||||
msgid "Red limit [%]"
|
||||
msgstr "<22>erven<65> limit [%]"
|
||||
|
||||
msgid "Define a limit for red bar, which is used to indicate a bad signal."
|
||||
msgstr "Zadajte limit pre <20>erven<65> pruh , ktor<6F> sa pou<6F><75>va na ozna<6E>enie zl<7A>ho sign<67>lu."
|
||||
|
||||
msgid "Green limit [%]"
|
||||
msgstr "Zelen<65> limit [%]"
|
||||
|
||||
msgid "Define a limit for green bar, which is used to indicate a good signal."
|
||||
msgstr "Zadajte limit pre zelen<65>ho pruhu, ktor<6F> sa pou<6F>ije na ozna<6E>enie dobr<62>ho sign<67>lu."
|
||||
|
||||
msgid "OSD update interval [0.1s]"
|
||||
msgstr "OSD aktualiza<7A>n<EFBFBD> interval [0.1s]"
|
||||
|
||||
msgid "Define an interval for OSD updates. The smaller interval generates higher CPU load."
|
||||
msgstr "Zadajte interval pre aktualiz<69>cie OSD. Men<65><6E> interval vytv<74>ra vy<76><79>ie za<7A>a<EFBFBD>enie CPU."
|
||||
|
||||
msgid "Analyze stream"
|
||||
msgstr "Anal<61>za d<>tov<6F>ho toku"
|
||||
|
||||
msgid "Define whether the DVB stream is analyzed and bitrates calculated."
|
||||
msgstr "Zadajte <20>i sa DVB pr<70>d analyzuje a d<>tov<6F> tok vypo<70><6F>ta."
|
||||
|
||||
msgid "Calculation interval [0.1s]"
|
||||
msgstr "V<>po<70>tov<6F> interval [0.1s]"
|
||||
|
||||
msgid "Define an interval for calculation. The bigger interval generates more stable values."
|
||||
msgstr "Zadajte interval pre v<>po<70>et. V<><56><EFBFBD><EFBFBD> interval vytv<74>ra stabilnej<65>ie hodnoty."
|
||||
|
||||
msgid "Use SVDRP service"
|
||||
msgstr "Pou<6F>i<EFBFBD> SVDRP slu<6C>bu"
|
||||
|
||||
msgid "Define whether the SVDRP service is used in client/server setups."
|
||||
msgstr "Zadajte <20>i sa pou<6F>ije slu<6C>ba SVDRP v klient / server nastaveniach."
|
||||
|
||||
msgid "SVDRP service port"
|
||||
msgstr "Port SVDRP slu<6C>by"
|
||||
|
||||
msgid "Define the port number of SVDRP service."
|
||||
msgstr "Zadajte <20><>slo portu slu<6C>by SVDRP."
|
||||
|
||||
msgid "SVDRP service IP"
|
||||
msgstr "IP SVDRP slu<6C>by"
|
||||
|
||||
msgid "Define the IP address of SVDRP service."
|
||||
msgstr "zadajte IP adresu slu<6C>by SVDRP."
|
||||
|
||||
msgid "Help"
|
||||
msgstr "Pomoc"
|
||||
|
||||
msgid "Video"
|
||||
msgstr "Video"
|
||||
|
||||
msgid "Audio"
|
||||
msgstr "Zvuk"
|
||||
|
||||
msgid "Transponder Information"
|
||||
msgstr "Inform<72>cie transpond<6E>ra"
|
||||
|
||||
msgid "Apid"
|
||||
msgstr "Apid"
|
||||
|
||||
msgid "Dpid"
|
||||
msgstr "Dpid"
|
||||
|
||||
msgid "Spid"
|
||||
msgstr "Spid"
|
||||
|
||||
msgid "Nid"
|
||||
msgstr "Nid"
|
||||
|
||||
msgid "Tid"
|
||||
msgstr "Tid"
|
||||
|
||||
msgid "Rid"
|
||||
msgstr "Rid"
|
||||
|
||||
msgid "Coderate"
|
||||
msgstr "r<>chlos<6F> k<>dovania"
|
||||
|
||||
msgid "Protocol"
|
||||
msgstr "Protokol"
|
||||
|
||||
msgid "Bitrate"
|
||||
msgstr "D<>tov<6F> tok"
|
||||
|
||||
msgid "Stream Information"
|
||||
msgstr "Inform<72>cie o d<>tovom toku"
|
||||
|
||||
msgid "Video Stream"
|
||||
msgstr "Video stopa"
|
||||
|
||||
msgid "Codec"
|
||||
msgstr "kodek"
|
||||
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Pomer str<74>n"
|
||||
|
||||
msgid "Frame Rate"
|
||||
msgstr "Po<50>et sn<73>mkov"
|
||||
|
||||
msgid "Video Format"
|
||||
msgstr "Video form<72>t"
|
||||
|
||||
msgid "Resolution"
|
||||
msgstr "Rozl<7A><6C>enie"
|
||||
|
||||
msgid "Audio Stream"
|
||||
msgstr "Zvukov<6F> stopa"
|
||||
|
||||
msgid "Channel Mode"
|
||||
msgstr "re<72>im kan<61>la"
|
||||
|
||||
msgid "Sampling Frequency"
|
||||
msgstr "Vzorkovacia frekvencia"
|
||||
|
||||
msgid "AC-3 Stream"
|
||||
msgstr "AC-3 d<>tov<6F> tok"
|
||||
|
||||
msgid "Bit Stream Mode"
|
||||
msgstr "re<72>im bitov<6F>ho toku"
|
||||
|
||||
msgid "Audio Coding Mode"
|
||||
msgstr "Re<52><65>m k<>dovania zvuku"
|
||||
|
||||
msgid "Center Mix Level"
|
||||
msgstr "<22>rove<76> Center mix"
|
||||
|
||||
msgid "Surround Mix Level"
|
||||
msgstr "<22>rove<76> Surround mix"
|
||||
|
||||
msgid "Dolby Surround Mode"
|
||||
msgstr "Dolby Surround re<72><65>m"
|
||||
|
||||
msgid "Low Frequency Effects"
|
||||
msgstr "Basov<6F> efekty"
|
||||
|
||||
msgid "Dialogue Normalization"
|
||||
msgstr "<22>tandartn<74> dial<61>g"
|
||||
|
||||
msgid "Fixed"
|
||||
msgstr "Pevn<76>"
|
||||
|
||||
msgid "Analog"
|
||||
msgstr "Anal<61>g"
|
||||
|
||||
msgid "MPEG-2"
|
||||
msgstr "MPEG-2"
|
||||
|
||||
msgid "H.264"
|
||||
msgstr "H.264"
|
||||
|
||||
msgid "MPEG-1 Layer I"
|
||||
msgstr "MPEG-1 vrstva I"
|
||||
|
||||
msgid "MPEG-1 Layer II"
|
||||
msgstr "MPEG-1 vrstva II"
|
||||
|
||||
msgid "MPEG-1 Layer III"
|
||||
msgstr "MPEG-1 vrstva III"
|
||||
|
||||
msgid "MPEG-2 Layer I"
|
||||
msgstr "MPEG-2 vrstva I"
|
||||
|
||||
msgid "MPEG-2 Layer II"
|
||||
msgstr "MPEG-2 vrstva II"
|
||||
|
||||
msgid "MPEG-2 Layer III"
|
||||
msgstr "MPEG-2 vrstva III"
|
||||
|
||||
msgid "HE-AAC"
|
||||
msgstr "HE-AAC"
|
||||
|
||||
msgid "LATM"
|
||||
msgstr "LATM"
|
||||
|
||||
msgid "stereo"
|
||||
msgstr "stereo"
|
||||
|
||||
msgid "joint Stereo"
|
||||
msgstr "spojen<65> stereo"
|
||||
|
||||
msgid "dual"
|
||||
msgstr "dvojit<69>"
|
||||
|
||||
msgid "mono"
|
||||
msgstr "mono"
|
||||
|
||||
msgid "interlaced"
|
||||
msgstr "prekladan<61>"
|
||||
|
||||
msgid "progressive"
|
||||
msgstr "progres<65>vny"
|
||||
|
||||
msgid "reserved"
|
||||
msgstr "obsaden<65>"
|
||||
|
||||
msgid "extended"
|
||||
msgstr "roz<6F><7A>ren<65>"
|
||||
|
||||
msgid "unknown"
|
||||
msgstr "nezn<7A>my"
|
||||
|
||||
msgid "component"
|
||||
msgstr "s<><73>as<61>"
|
||||
|
||||
msgid "PAL"
|
||||
msgstr "PAL"
|
||||
|
||||
msgid "NTSC"
|
||||
msgstr "NTSC"
|
||||
|
||||
msgid "SECAM"
|
||||
msgstr "SECAM"
|
||||
|
||||
msgid "MAC"
|
||||
msgstr "MAC"
|
||||
|
||||
msgid "Hz"
|
||||
msgstr "Hz"
|
||||
|
||||
msgid "Complete Main (CM)"
|
||||
msgstr "Kompletne hlavn<76> (CM)"
|
||||
|
||||
msgid "Music and Effects (ME)"
|
||||
msgstr "Hudba a efekty (ME)"
|
||||
|
||||
msgid "Visually Impaired (VI)"
|
||||
msgstr "zrakovo postihnut<75> (VI)"
|
||||
|
||||
msgid "Hearing Impaired (HI)"
|
||||
msgstr "sluchovo postihnut<75> (HI)"
|
||||
|
||||
msgid "Dialogue (D)"
|
||||
msgstr "Dial<61>g (D)"
|
||||
|
||||
msgid "Commentary (C)"
|
||||
msgstr "Koment<6E>r (C)"
|
||||
|
||||
msgid "Emergency (E)"
|
||||
msgstr "Pohotovostn<74> (E)"
|
||||
|
||||
msgid "Voice Over (VO)"
|
||||
msgstr "Viacvrstvov<6F> hlas (VO)"
|
||||
|
||||
msgid "Karaoke"
|
||||
msgstr "Karaoke"
|
||||
|
||||
msgid "Ch1"
|
||||
msgstr "kan<61>l1"
|
||||
|
||||
msgid "Ch2"
|
||||
msgstr "kan<61>l2"
|
||||
|
||||
msgid "C"
|
||||
msgstr "C"
|
||||
|
||||
msgid "L"
|
||||
msgstr "L"
|
||||
|
||||
msgid "R"
|
||||
msgstr "R"
|
||||
|
||||
msgid "S"
|
||||
msgstr "S"
|
||||
|
||||
msgid "SL"
|
||||
msgstr "SL"
|
||||
|
||||
msgid "SR"
|
||||
msgstr "SR"
|
||||
|
||||
msgid "dB"
|
||||
msgstr "dB"
|
||||
|
||||
msgid "not indicated"
|
||||
msgstr "nie je uveden<65>"
|
||||
|
||||
msgid "MHz"
|
||||
msgstr "MHz"
|
||||
|
||||
msgid "free"
|
||||
msgstr "vo<76>n<EFBFBD>"
|
||||
|
||||
msgid "Mbit/s"
|
||||
msgstr "Mbit/s"
|
||||
|
||||
msgid "kbit/s"
|
||||
msgstr "kbit/s"
|
||||
28
po/uk_UA.po
28
po/uk_UA.po
@@ -4,18 +4,17 @@
|
||||
# Yarema aka Knedlyk <yupadmin@gmail.com>, 2010.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vdr-femon 1.7.19\n"
|
||||
"Project-Id-Version: vdr-femon 2.0.4\n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2010-10-10 10:10+0300\n"
|
||||
"PO-Revision-Date: 2010-10-10 10:10+0300\n"
|
||||
"POT-Creation-Date: 2014-03-15 03:15+0200\n"
|
||||
"PO-Revision-Date: 2014-03-15 03:15+0200\n"
|
||||
"Last-Translator: Yarema aka Knedlyk <yupadmin@gmail.com>\n"
|
||||
"Language-Team: Ukrainian <translation@linux.org.ua>\n"
|
||||
"Language: uk\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\\n\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\\n\n"
|
||||
|
||||
msgid "DVB Signal Information Monitor (OSD)"
|
||||
msgstr "Монітор інформації про DVB сигнал"
|
||||
@@ -113,12 +112,8 @@ msgstr "Визначення границі зеленої поділки, як
|
||||
msgid "OSD update interval [0.1s]"
|
||||
msgstr "Інтервал оновлення повідомлень [0.1с]"
|
||||
|
||||
msgid ""
|
||||
"Define an interval for OSD updates. The smaller interval generates higher "
|
||||
"CPU load."
|
||||
msgstr ""
|
||||
"Визначення інтервалу оновлення повідомлень. Малий інтервал спричинює більше "
|
||||
"завантаження процесора."
|
||||
msgid "Define an interval for OSD updates. The smaller interval generates higher CPU load."
|
||||
msgstr "Визначення інтервалу оновлення повідомлень. Малий інтервал спричинює більше завантаження процесора."
|
||||
|
||||
msgid "Analyze stream"
|
||||
msgstr "Аналіз потоку"
|
||||
@@ -129,19 +124,14 @@ msgstr "Визначення, чи проводити аналіз DVB пото
|
||||
msgid "Calculation interval [0.1s]"
|
||||
msgstr "Інтервал обчислення [0.1с]"
|
||||
|
||||
msgid ""
|
||||
"Define an interval for calculation. The bigger interval generates more "
|
||||
"stable values."
|
||||
msgstr ""
|
||||
"Визначення інтервалу обчислення. Більший інтервал дає стабільніші значення."
|
||||
msgid "Define an interval for calculation. The bigger interval generates more stable values."
|
||||
msgstr "Визначення інтервалу обчислення. Більший інтервал дає стабільніші значення."
|
||||
|
||||
msgid "Use SVDRP service"
|
||||
msgstr "Використати SVDRP сервіс"
|
||||
|
||||
msgid "Define whether the SVDRP service is used in client/server setups."
|
||||
msgstr ""
|
||||
"Визначення чи буде використовуватися SVDRP сервіс в налаштуваннях клієнта/"
|
||||
"сервера"
|
||||
msgstr "Визначення чи буде використовуватися SVDRP сервіс в налаштуваннях клієнта/сервера"
|
||||
|
||||
msgid "SVDRP service port"
|
||||
msgstr "Порт SVDRP сервісу"
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2007 Rolf Ahrenberg
|
||||
# Copyright (C) 2007-2014 Rolf Ahrenberg
|
||||
# This file is distributed under the same license as the femon package.
|
||||
# Nan Feng VDR <nfgx@21cn.com>, 2009.2
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vdr-femon 1.7.19\n"
|
||||
"Project-Id-Version: vdr-femon 2.0.4\n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2010-10-10 10:10+0300\n"
|
||||
"PO-Revision-Date: 2010-10-10 10:10+0300\n"
|
||||
"POT-Creation-Date: 2014-03-15 03:15+0200\n"
|
||||
"PO-Revision-Date: 2014-03-15 03:15+0200\n"
|
||||
"Last-Translator: NanFeng <nfgx@21cn.com>\n"
|
||||
"Language-Team: Chinese (simplified) <vdr@linuxtv.org>\n"
|
||||
"Language: zh_CN\n"
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2007 Rolf Ahrenberg
|
||||
# Copyright (C) 2007-2014 Rolf Ahrenberg
|
||||
# This file is distributed under the same license as the femon package.
|
||||
# Nan Feng VDR <nfgx@21cn.com>, 2009.2
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vdr-femon 1.7.19\n"
|
||||
"Project-Id-Version: vdr-femon 2.0.4\n"
|
||||
"Report-Msgid-Bugs-To: <see README>\n"
|
||||
"POT-Creation-Date: 2010-10-10 10:10+0300\n"
|
||||
"PO-Revision-Date: 2010-10-10 10:10+0300\n"
|
||||
"POT-Creation-Date: 2014-03-15 03:15+0200\n"
|
||||
"PO-Revision-Date: 2014-03-15 03:15+0200\n"
|
||||
"Last-Translator: NanFeng <nfgx@21cn.com>\n"
|
||||
"Language-Team: Chinese (traditional) <vdr@linuxtv.org>\n"
|
||||
"Language: zh_TW\n"
|
||||
|
||||
Reference in New Issue
Block a user