Version 1.7.19

Original announce message:
VDR developer version 1.7.19 is now available at

       ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.19.tar.bz2

A 'diff' against the previous version is available at

       ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.18-1.7.19.diff

MD5 checksums:

1eb04ecdc2b11ab8641ebfaa2cb93f42  vdr-1.7.19.tar.bz2
db16ce7bb51e0db837ed56ef4744a67e  vdr-1.7.18-1.7.19.diff

WARNING:
========

This is a developer version. Even though I use it in my productive
environment. I strongly recommend that you only use it under controlled
conditions and for testing and debugging.

This version introduces functions to determine the "signal strength"
and "signal quality" through cDevice. If you are using a DVB card that
contains an stb0899 frontend chip (like the TT-budget S2-3200) you may
want to apply the patches from

   ftp://ftp.tvdr.de/vdr/Developer/Driver-Patches

to the LinuxDVB driver source in order to receive useful results from
that frontend.
Since apparently the various frontend drivers return different maximum
values in their FE_READ_SIGNAL_STRENGTH and FE_READ_SNR functions (some
deliver a value in the range 0x0000...0xFFFF, while others return values
as "dB/10" or "dBm/10" (the latter with an offset to make the value positive,
since the parameter is unsigned), the functions cDvbTuner::GetSignalStrength()
and cDvbTuner::GetSignalQuality() use the device's "subsystem ID" to
map these values into the range 0...100, which is the normalized return
value of these functions.
Take a look at these two functions and maybe remove the comment characters
from the lines
//#define DEBUG_SIGNALSTRENGTH
//#define DEBUG_SIGNALQUALITY
in dvbdevice.c to get some debug output if your device doesn't return any
directly useful values and may have to be added appropriately to the
'switch (subsystemId)' statement.
The channel display of the 'sttng' skin uses these values to implement
a signal strength/quality display.

From the HISTORY file:
- Fixed cString's operator=(const char *String) in case the given string is the
  same as the existing one (thanks to Dirk Leber).
- Avoiding a gcc 4.6 compiler error in the skincurses plugin (thanks to Tobias Grimm).
- TsGetPayload() now checks if there actually is a payload in the given TS packet
  (reported by Dirk Leber).
- Now sorting the source file names in the call to xgettext, to make sure the results
  are not dependent on the sequence of the files.
  Plugin authors may want to change the line containing the xgettext call in their
  Makefile accordingly by changing "$^" to "`ls $^`".
- The primary device is now only avoided for recording if it is an old SD full
  featured card. This is done through the new function cDevice::AvoidRecording().
- Subtitle PIDs are now also decrypted (thanks to Reinhard Nissl).
- Fixed a possible race condition in cDiseqc::Execute() (reported by Marco Göbenich).
  The return value of cDiseqcs::Get() is now const, so plugin authors may need to
  adjust their code if they use this function.
- The new functions cDevice::SignalStrength() and cDevice::SignalQuality() can be
  used to determine the signal strength and quality of a given device (thanks to
  Rolf Ahrenberg for some input on how to use BER and UNC values to generate a
  "quality" value).
- The 'sttng' skin now displays two colored bars at the bottom of the channel display,
  indicating the strength (upper bar) and quality (lower bar) of the received signal.
  The number to the left of these bars indicates the actual device the current
  channel is being received with.
- Fixed detecting frames in case the Picture Start Code or Access Unit Delimiter
  extends over TS packet boundaries (reported by Johan Andersson).
  In order to fix this, the semantics of cFrameDetector had to be changed a little.
  See cRecorder::Action() and cIndexFileGenerator::Action() on how to use the new
  cFrameDetector::NewPayload() function.
- The frame detector now only starts collecting PTS values after it has seen the
  first I-frame, otherwise it might get MaxPtsValues values and stop analyzing
  even though the incoming data is still garbage (reported by Derek Kelly).
- The info file of a recording is now only overwritten with a new fps value if
  that new value is not the default value (thanks to Derek Kelly for reporting a
  problem with the fps value being overwritten in case a recording was interrupted
  and resumed, and the fps value could not be determined after resuming recording).
- The initial channel is now stored by the channel ID in the setup.conf file, in
  order to avoid problems in case channels are reordered or deleted (reported by
  Lars Bläser).
- Added support for "content identifier descriptor" and "default authority descriptor"
  to 'libsi' (thanks to Dave Pickles).
This commit is contained in:
Klaus Schmidinger 2011-06-19 12:41:00 +02:00 committed by Dieter Hametner
parent 8b9350c091
commit bd61fee1e9
108 changed files with 968 additions and 397 deletions

View File

@ -1028,6 +1028,8 @@ Marc Rovira Vall <tm05462@salleURL.edu>, Ramon Roca <ramon.roca@xcombo.com> and
Lars Bläser <LBlaeser@hofheim.de> Lars Bläser <LBlaeser@hofheim.de>
for reporting a bug in EPG bugfix statistics which made log entries for undefined for reporting a bug in EPG bugfix statistics which made log entries for undefined
channels channels
for reporting a problem with the initial channel in case channels are reordered or
deleted
Niko Tarnanen <niko.tarnanen@hut.fi> Niko Tarnanen <niko.tarnanen@hut.fi>
for translating OSD texts to the Finnish language for translating OSD texts to the Finnish language
@ -1104,6 +1106,7 @@ Rolf Ahrenberg <rahrenbe@cc.hut.fi>
for adding support for "registration descriptor" to 'libsi' and using it in pat.c for adding support for "registration descriptor" to 'libsi' and using it in pat.c
for adding an include of VDR's 'Make.global' to libsi's Makefile for adding an include of VDR's 'Make.global' to libsi's Makefile
for adding handling of "ANSI/SCTE 57" descriptors for adding handling of "ANSI/SCTE 57" descriptors
for some input on how to use BER and UNC values to generate a "quality" value
Ralf Klueber <ralf.klueber@vodafone.com> Ralf Klueber <ralf.klueber@vodafone.com>
for reporting a bug in cutting a recording if there is only a single editing mark for reporting a bug in cutting a recording if there is only a single editing mark
@ -1269,6 +1272,7 @@ Reinhard Nissl <rnissl@gmx.de>
for fixing a buffer overflow in cFont::Bidi() for fixing a buffer overflow in cFont::Bidi()
for avoiding an unecessary call to Recordings.ResetResume() for avoiding an unecessary call to Recordings.ResetResume()
for debugging a problem in handling the bitmap color depth for scaled subtitles for debugging a problem in handling the bitmap color depth for scaled subtitles
for making subtitle PIDs be decrypted
Richard Robson <richard_robson@beeb.net> Richard Robson <richard_robson@beeb.net>
for reporting freezing replay if a timer starts while in Transfer Mode from the for reporting freezing replay if a timer starts while in Transfer Mode from the
@ -2141,6 +2145,8 @@ Philippe Gramoull
André Weidemann <Andre.Weidemann@web.de> André Weidemann <Andre.Weidemann@web.de>
for suggesting to only write Dolby Digital tracks into the 'info.vdr' file of a for suggesting to only write Dolby Digital tracks into the 'info.vdr' file of a
recording if Setup.UseDolbyDigital is true recording if Setup.UseDolbyDigital is true
for suggesting that the primary device should only be avoided for recording if
it is an old SD full featured card
Jürgen Schilling <juergen_schilling@web.de> Jürgen Schilling <juergen_schilling@web.de>
for reporting that color buttons were displayed in the recording info menu if it for reporting that color buttons were displayed in the recording info menu if it
@ -2257,6 +2263,7 @@ Tobias Grimm <tobias.grimm@e-tobi.net>
for reporting unneeded include files <linux/dvb/dmx.h> and <time.h> in remux.h for reporting unneeded include files <linux/dvb/dmx.h> and <time.h> in remux.h
for a patch that added a workaround for the broken linux-dvb driver header files for a patch that added a workaround for the broken linux-dvb driver header files
for reporting a faulty "frame duration" instead of "frame rate" in vdr.5 for reporting a faulty "frame duration" instead of "frame rate" in vdr.5
for avoiding a gcc 4.6 compiler error in the skincurses plugin.
Helge Lenz <h.lenz@gmx.de> Helge Lenz <h.lenz@gmx.de>
for reporting a bug in setting the 'Delta' parameter when calling the shutdown for reporting a bug in setting the 'Delta' parameter when calling the shutdown
@ -2567,6 +2574,11 @@ Derek Kelly (user.vdr@gmail.com)
for reporting a problem where the frame rate was not detected correctly for reporting a problem where the frame rate was not detected correctly
for testing the implementation of FE_CAN_TURBO_FEC for testing the implementation of FE_CAN_TURBO_FEC
for reporting unjustified log entries about changed channel pids for reporting unjustified log entries about changed channel pids
for reporting a problem with the frame detector in case it gets MaxPtsValues values
and stops analyzing even though the incoming data is still garbage
for reporting a problem with the fps value in the info file of a recording being
overwritten in case a recording was interrupted and resumed, and the fps value
could not be determined after resuming recording
Marcel Unbehaun <frostworks@gmx.de> Marcel Unbehaun <frostworks@gmx.de>
for adding cRecordingInfo::GetEvent() for adding cRecordingInfo::GetEvent()
@ -2697,3 +2709,20 @@ Sergiu Dotenco <sergiu.dotenco@googlemail.com>
Mika Laitio <lamikr@pilppa.org> Mika Laitio <lamikr@pilppa.org>
for reporting a case where cRecordingInfo::Read(FILE *f) was called with a NULL pointer for reporting a case where cRecordingInfo::Read(FILE *f) was called with a NULL pointer
Dirk Leber <dirk.leber@reel-multimedia.com>
for fixing cString's operator=(const char *String) in case the given string is the
same as the existing one
for reporting that TsGetPayload() gets called without checking whether there actually
is a payload in the given TS packet
Marco Göbenich <mg@needful.de>
for reporting a problem with executing diseqc commands from different threads
Johan Andersson <jna@jna.pp.se>
for reporting a bug in detecting frames in case the Picture Start Code or Access Unit
Delimiter extends over TS packet boundaries
Dave Pickles <dave@pickles.me.uk>
for adding support for "content identifier descriptor" and "default authority
descriptor" to 'libsi'

43
HISTORY
View File

@ -6606,3 +6606,46 @@ Video Disk Recorder Revision History
- Added handling of "ANSI/SCTE 57" descriptors (thanks too Rolf Ahrenberg). - Added handling of "ANSI/SCTE 57" descriptors (thanks too Rolf Ahrenberg).
- Avoiding an unecessary call to Recordings.ResetResume() (thanks to Reinhard - Avoiding an unecessary call to Recordings.ResetResume() (thanks to Reinhard
Nissl). Nissl).
2011-06-19: Version 1.7.19
- Fixed cString's operator=(const char *String) in case the given string is the
same as the existing one (thanks to Dirk Leber).
- Avoiding a gcc 4.6 compiler error in the skincurses plugin (thanks to Tobias Grimm).
- TsGetPayload() now checks if there actually is a payload in the given TS packet
(reported by Dirk Leber).
- Now sorting the source file names in the call to xgettext, to make sure the results
are not dependent on the sequence of the files.
Plugin authors may want to change the line containing the xgettext call in their
Makefile accordingly by changing "$^" to "`ls $^`".
- The primary device is now only avoided for recording if it is an old SD full
featured card. This is done through the new function cDevice::AvoidRecording().
- Subtitle PIDs are now also decrypted (thanks to Reinhard Nissl).
- Fixed a possible race condition in cDiseqc::Execute() (reported by Marco Göbenich).
The return value of cDiseqcs::Get() is now const, so plugin authors may need to
adjust their code if they use this function.
- The new functions cDevice::SignalStrength() and cDevice::SignalQuality() can be
used to determine the signal strength and quality of a given device (thanks to
Rolf Ahrenberg for some input on how to use BER and UNC values to generate a
"quality" value).
- The 'sttng' skin now displays two colored bars at the bottom of the channel display,
indicating the strength (upper bar) and quality (lower bar) of the received signal.
The number to the left of these bars indicates the actual device the current
channel is being received with.
- Fixed detecting frames in case the Picture Start Code or Access Unit Delimiter
extends over TS packet boundaries (reported by Johan Andersson).
In order to fix this, the semantics of cFrameDetector had to be changed a little.
See cRecorder::Action() and cIndexFileGenerator::Action() on how to use the new
cFrameDetector::NewPayload() function.
- The frame detector now only starts collecting PTS values after it has seen the
first I-frame, otherwise it might get MaxPtsValues values and stop analyzing
even though the incoming data is still garbage (reported by Derek Kelly).
- The info file of a recording is now only overwritten with a new fps value if
that new value is not the default value (thanks to Derek Kelly for reporting a
problem with the fps value being overwritten in case a recording was interrupted
and resumed, and the fps value could not be determined after resuming recording).
- The initial channel is now stored by the channel ID in the setup.conf file, in
order to avoid problems in case channels are reordered or deleted (reported by
Lars Bläser).
- Added support for "content identifier descriptor" and "default authority descriptor"
to 'libsi' (thanks to Dave Pickles).

4
MANUAL
View File

@ -885,8 +885,8 @@ Version 1.6
key. Note that the total maximum is also limited by key. Note that the total maximum is also limited by
the "OSD/Channel info time" parameter. the "OSD/Channel info time" parameter.
Initial channel = 0 The number of the channel that shall be tuned to when Initial channel = The channel ID of the channel that shall be tuned to when
VDR starts. Default is 0, which means that it will VDR starts. Default is empty, which means that it will
tune to the channel that was on before VDR was stopped. tune to the channel that was on before VDR was stopped.
Initial volume = -1 The volume that shall be set when VDR starts. Default Initial volume = -1 The volume that shall be set when VDR starts. Default

View File

@ -4,7 +4,7 @@
# See the main source file 'vdr.c' for copyright information and # See the main source file 'vdr.c' for copyright information and
# how to reach the author. # how to reach the author.
# #
# $Id: Makefile 2.17 2011/04/17 13:35:53 kls Exp $ # $Id: Makefile 2.18 2011/05/21 12:21:40 kls Exp $
.DELETE_ON_ERROR: .DELETE_ON_ERROR:
@ -115,7 +115,7 @@ I18Npot = $(PODIR)/vdr.pot
msgfmt -c -o $@ $< msgfmt -c -o $@ $<
$(I18Npot): $(wildcard *.c) $(I18Npot): $(wildcard *.c)
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<vdr-bugs@tvdr.de>' -o $@ $^ xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<vdr-bugs@tvdr.de>' -o $@ `ls $^`
%.po: $(I18Npot) %.po: $(I18Npot)
msgmerge -U --no-wrap --no-location --backup=none -q $@ $< msgmerge -U --no-wrap --no-location --backup=none -q $@ $<

View File

@ -13,4 +13,33 @@ VDR Plugin 'dvbhddevice' Revision History
2011-04-17: Version 0.0.3 2011-04-17: Version 0.0.3
- Added support for TrueColor OSD. - Improved trickmodes
- No transfer mode needed for dolby digital
- Clear audio and video PID when Clear() ist called to stop audio decoding when jumping to cutting marks
- Support still frames in H264 format
- Remote control setup
- Added analogue video setting, support volume control.
- Support setting of audio delay.
- Support setting of audio channel (Stereo, Left, Right)
- Support setting of audio downmix mode.
- Playback of PES data is working now.
- Fall back to MPEG2 stream type when no PMT is available.
- Added support for PES PCM playback
- Support HDMI-CEC. (One-Touch Play)
- Added low level OSD implementation.
- Added option to select between high level and low level OSD.
- high level OSD: Implement SaveRegion and RestoreRegion.
- Fix not working video playback when PCR PID is different from video PID.
- Fix not working pause when playing H.264 video
- Improvements in transfer mode, fix audio dropouts or no audio at all
- Add implementation of CanHandleAreas method to support VDR 1.7.17
- in cHdffOsdRaw::Flush fix reusing of loop variable i in subloop that lead to OSD update problems
- Specify container format when starting audio decoding to support PES-DVD containers
- Added support for True Color OSD
- Allow to disable true color OSD support via setup option
2011-04-xx: Version 0.0.4
- locally define DVB OSD API extensions to support compiling with original DVB headers
- Return correct pixel aspect ratio in GetOsdSize
- Adapt Makefile to changes introduced in recent VDR versions

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # Makefile for a Video Disk Recorder plugin
# #
# $Id: Makefile 1.7 2011/04/17 11:40:55 kls Exp $ # $Id: Makefile 1.8 2011/05/21 12:25:33 kls Exp $
# The official name of this plugin. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin. # This name will be used in the '-P...' option of VDR to load the plugin.
@ -83,7 +83,7 @@ I18Npot = $(PODIR)/$(PLUGIN).pot
msgfmt -c -o $@ $< msgfmt -c -o $@ $<
$(I18Npot): $(wildcard *.c) $(I18Npot): $(wildcard *.c)
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<see README>' -o $@ $^ xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<see README>' -o $@ `ls $^`
%.po: $(I18Npot) %.po: $(I18Npot)
msgmerge -U --no-wrap --no-location --backup=none -q $@ $< msgmerge -U --no-wrap --no-location --backup=none -q $@ $<

View File

@ -3,14 +3,14 @@
* *
* See the README file for copyright information and how to reach the author. * See the README file for copyright information and how to reach the author.
* *
* $Id: dvbhddevice.c 1.12 2011/04/17 11:20:22 kls Exp $ * $Id: dvbhddevice.c 1.13 2011/04/24 09:31:21 kls Exp $
*/ */
#include <vdr/plugin.h> #include <vdr/plugin.h>
#include "dvbhdffdevice.h" #include "dvbhdffdevice.h"
#include "setup.h" #include "setup.h"
static const char *VERSION = "0.0.3"; static const char *VERSION = "0.0.4";
static const char *DESCRIPTION = "HD Full Featured DVB device"; static const char *DESCRIPTION = "HD Full Featured DVB device";
class cPluginDvbhddevice : public cPlugin { class cPluginDvbhddevice : public cPlugin {

View File

@ -3,7 +3,7 @@
* *
* See the README file for copyright information and how to reach the author. * See the README file for copyright information and how to reach the author.
* *
* $Id: dvbhdffdevice.c 1.29 2011/04/17 11:20:22 kls Exp $ * $Id: dvbhdffdevice.c 1.32 2011/05/22 15:19:59 kls Exp $
*/ */
#include "dvbhdffdevice.h" #include "dvbhdffdevice.h"
@ -110,7 +110,7 @@ void cDvbHdFfDevice::SetVideoFormat(bool VideoFormat16_9)
{ {
HDFF::tVideoFormat videoFormat; HDFF::tVideoFormat videoFormat;
videoFormat.AutomaticEnabled = true; videoFormat.AutomaticEnabled = true;
videoFormat.AfdEnabled = true; videoFormat.AfdEnabled = false;
videoFormat.TvFormat = (HDFF::eTvFormat) gHdffSetup.TvFormat; videoFormat.TvFormat = (HDFF::eTvFormat) gHdffSetup.TvFormat;
videoFormat.VideoConversion = (HDFF::eVideoConversion) gHdffSetup.VideoConversion; videoFormat.VideoConversion = (HDFF::eVideoConversion) gHdffSetup.VideoConversion;
mHdffCmdIf->CmdAvSetVideoFormat(0, &videoFormat); mHdffCmdIf->CmdAvSetVideoFormat(0, &videoFormat);
@ -364,7 +364,7 @@ bool cDvbHdFfDevice::SetPlayMode(ePlayMode PlayMode)
if (playMode == pmNone) if (playMode == pmNone)
TurnOffLiveMode(true); TurnOffLiveMode(true);
mHdffCmdIf->CmdAvSetPlayMode(1, Transferring()); mHdffCmdIf->CmdAvSetPlayMode(1, Transferring() || (cTransferControl::ReceiverDevice() == this));
mHdffCmdIf->CmdAvSetStc(0, 100000); mHdffCmdIf->CmdAvSetStc(0, 100000);
mHdffCmdIf->CmdAvEnableSync(0, true); mHdffCmdIf->CmdAvEnableSync(0, true);
mHdffCmdIf->CmdAvEnableVideoAfterStop(0, true); mHdffCmdIf->CmdAvEnableVideoAfterStop(0, true);
@ -725,28 +725,14 @@ HDFF::cHdffCmdIf *cDvbHdFfDevice::GetHdffCmdHandler(void)
bool cDvbHdFfDeviceProbe::Probe(int Adapter, int Frontend) bool cDvbHdFfDeviceProbe::Probe(int Adapter, int Frontend)
{ {
static uint32_t SubsystemIds[] = { static uint32_t SubsystemIds[] = {
0x13C23009, // Technotrend S2-6400 HDFF 0x13C23009, // Technotrend S2-6400 HDFF development samples
0x13C2300A, // Technotrend S2-6400 HDFF production version
0x00000000 0x00000000
}; };
cString FileName; uint32_t SubsystemId = GetSubsystemId(Adapter, Frontend);
cReadLine ReadLine;
FILE *f = NULL;
uint32_t SubsystemId = 0;
FileName = cString::sprintf("/sys/class/dvb/dvb%d.frontend%d/device/subsystem_vendor", Adapter, Frontend);
if ((f = fopen(FileName, "r")) != NULL) {
if (char *s = ReadLine.Read(f))
SubsystemId = strtoul(s, NULL, 0) << 16;
fclose(f);
}
FileName = cString::sprintf("/sys/class/dvb/dvb%d.frontend%d/device/subsystem_device", Adapter, Frontend);
if ((f = fopen(FileName, "r")) != NULL) {
if (char *s = ReadLine.Read(f))
SubsystemId |= strtoul(s, NULL, 0);
fclose(f);
}
for (uint32_t *sid = SubsystemIds; *sid; sid++) { for (uint32_t *sid = SubsystemIds; *sid; sid++) {
if (*sid == SubsystemId) { if (*sid == SubsystemId) {
FileName = cString::sprintf("/dev/dvb/adapter%d/osd0", Adapter); cString FileName = cString::sprintf("/dev/dvb/adapter%d/osd0", Adapter);
int fd = open(FileName, O_RDWR); int fd = open(FileName, O_RDWR);
if (fd != -1) { //TODO treat the second path of the S2-6400 as a budget device if (fd != -1) { //TODO treat the second path of the S2-6400 as a budget device
close(fd); close(fd);

View File

@ -3,7 +3,7 @@
* *
* See the README file for copyright information and how to reach the author. * See the README file for copyright information and how to reach the author.
* *
* $Id: hdffcmd.c 1.19 2011/04/17 11:20:22 kls Exp $ * $Id: hdffcmd.c 1.20 2011/04/24 09:31:59 kls Exp $
*/ */
#include "hdffcmd.h" #include "hdffcmd.h"
@ -13,6 +13,25 @@
#include <sys/ioctl.h> #include <sys/ioctl.h>
#include <vdr/tools.h> #include <vdr/tools.h>
#if !defined OSD_RAW_CMD
typedef struct osd_raw_cmd_s {
const void *cmd_data;
int cmd_len;
void *result_data;
int result_len;
} osd_raw_cmd_t;
typedef struct osd_raw_data_s {
const void *data_buffer;
int data_length;
int data_handle;
} osd_raw_data_t;
#define OSD_RAW_CMD _IOWR('o', 162, osd_raw_cmd_t)
#define OSD_RAW_DATA _IOWR('o', 163, osd_raw_data_t)
#endif
namespace HDFF namespace HDFF
{ {

View File

@ -3,7 +3,7 @@
* *
* See the README file for copyright information and how to reach the author. * See the README file for copyright information and how to reach the author.
* *
* $Id: hdffosd.c 1.9 2011/04/17 11:20:22 kls Exp $ * $Id: hdffosd.c 1.10 2011/05/15 14:47:29 kls Exp $
*/ */
#include "hdffosd.h" #include "hdffosd.h"
@ -154,8 +154,12 @@ eOsdError cHdffOsd::SetAreas(const tArea *Areas, int NumAreas)
{ {
//printf("SetAreas %d: %d %d %d %d %d\n", i, Areas[i].x1, Areas[i].y1, Areas[i].x2, Areas[i].y2, Areas[i].bpp); //printf("SetAreas %d: %d %d %d %d %d\n", i, Areas[i].x1, Areas[i].y1, Areas[i].x2, Areas[i].y2, Areas[i].bpp);
} }
mHdffCmdIf->CmdOsdDrawRectangle(mDisplay, 0, 0, mDispWidth, mDispHeight, 0); if (shown)
mHdffCmdIf->CmdOsdRenderDisplay(mDisplay); {
mHdffCmdIf->CmdOsdDrawRectangle(mDisplay, 0, 0, mDispWidth, mDispHeight, 0);
mHdffCmdIf->CmdOsdRenderDisplay(mDisplay);
shown = false;
}
return cOsd::SetAreas(Areas, NumAreas); return cOsd::SetAreas(Areas, NumAreas);
} }
@ -166,9 +170,13 @@ void cHdffOsd::SetActive(bool On)
cOsd::SetActive(On); cOsd::SetActive(On);
if (On) if (On)
{ {
if (GetBitmap(0)) // only flush here if there are already bitmaps
Flush();
} }
else if (shown) else if (shown)
{ {
mHdffCmdIf->CmdOsdDrawRectangle(mDisplay, 0, 0, mDispWidth, mDispHeight, 0);
mHdffCmdIf->CmdOsdRenderDisplay(mDisplay);
shown = false; shown = false;
} }
} }
@ -594,9 +602,13 @@ void cHdffOsdRaw::SetActive(bool On)
cOsd::SetActive(On); cOsd::SetActive(On);
if (On) if (On)
{ {
if (GetBitmap(0)) // only flush here if there are already bitmaps
Flush();
} }
else if (shown) else if (shown)
{ {
mHdffCmdIf->CmdOsdDrawRectangle(mDisplay, 0, 0, mDispWidth, mDispHeight, 0);
mHdffCmdIf->CmdOsdRenderDisplay(mDisplay);
shown = false; shown = false;
} }
} }
@ -623,8 +635,12 @@ eOsdError cHdffOsdRaw::SetAreas(const tArea *Areas, int NumAreas)
{ {
//printf("SetAreas %d: %d %d %d %d %d\n", i, Areas[i].x1, Areas[i].y1, Areas[i].x2, Areas[i].y2, Areas[i].bpp); //printf("SetAreas %d: %d %d %d %d %d\n", i, Areas[i].x1, Areas[i].y1, Areas[i].x2, Areas[i].y2, Areas[i].bpp);
} }
mHdffCmdIf->CmdOsdDrawRectangle(mDisplay, 0, 0, mDispWidth, mDispHeight, 0); if (shown)
mHdffCmdIf->CmdOsdRenderDisplay(mDisplay); {
mHdffCmdIf->CmdOsdDrawRectangle(mDisplay, 0, 0, mDispWidth, mDispHeight, 0);
mHdffCmdIf->CmdOsdRenderDisplay(mDisplay);
shown = false;
}
return cOsd::SetAreas(Areas, NumAreas); return cOsd::SetAreas(Areas, NumAreas);
} }

View File

@ -0,0 +1,89 @@
# VDR plugin language source file
# Copyright (C) 2011 Andreas Regel
# This file is distributed under the same license as the dvbhddevice package.
# Christoph Haubrich, 2011
#
msgid ""
msgstr ""
"Project-Id-Version: VDR \n"
"Report-Msgid-Bugs-To: <see README>\n"
"POT-Creation-Date: 2011-05-05 20:34+0200\n"
"PO-Revision-Date: 2011-04-25 21:44+0200\n"
"Last-Translator: Christoph Haubrich\n"
"Language-Team: <see README>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Automatic"
msgstr "automatisch"
msgid "Letterbox 16/9"
msgstr "Letterbox 16:9"
msgid "Letterbox 14/9"
msgstr "Letterbox 14:9"
msgid "Pillarbox"
msgstr "Pillarbox"
msgid "CentreCutOut"
msgstr "CentreCutOut"
msgid "Always 16/9"
msgstr "immer 16:9"
msgid "Disabled"
msgstr "abgeschaltet"
msgid "Analogue only"
msgstr "nur Analoge Ausgänge"
msgid "Always"
msgstr "immer"
msgid "HDMI only"
msgstr "nur HDMI"
msgid "Follow resolution"
msgstr "folge Auflösung"
msgid "none"
msgstr "keins"
msgid "Resolution"
msgstr "Auflösung"
msgid "TV format"
msgstr "TV-Format"
msgid "Video Conversion"
msgstr "Videokonvertierung"
msgid "Analogue Video"
msgstr "Analoges Video"
msgid "Audio Delay (ms)"
msgstr "Audio Verzögerung (ms)"
msgid "Audio Downmix"
msgstr "Audio Downmix"
msgid "OSD Size"
msgstr "OSD Größe"
msgid "HDMI CEC"
msgstr "HDMI CEC"
msgid "Remote Control Protocol"
msgstr "Fernbedienungsprotokoll"
msgid "Remote Control Address"
msgstr "Fernbedienungsadresse"
msgid "High Level OSD"
msgstr "High Level OSD"
msgid "Allow True Color OSD"
msgstr "Erlaube True Color OSD"

View File

@ -3,88 +3,17 @@
* *
* See the README file for copyright information and how to reach the author. * See the README file for copyright information and how to reach the author.
* *
* $Id: setup.c 1.11 2011/04/17 11:45:17 kls Exp $ * $Id: setup.c 1.12 2011/05/15 14:47:45 kls Exp $
*/ */
#include "setup.h" #include "setup.h"
#include "hdffcmd.h" #include "hdffcmd.h"
const int kResolutions = 4;
const int kTvFormats = 2;
const int kVideoConversions = 6;
const int kAnalogueVideos = 4;
const int kAudioDownmixes = 5;
const int kOsdSizes = 5;
const int kRemoteProtocols = 3;
const int kResolution1080i = 0; const int kResolution1080i = 0;
const int kResolution720p = 1; const int kResolution720p = 1;
const int kResolution576p = 2; const int kResolution576p = 2;
const int kResolution576i = 3; const int kResolution576i = 3;
static const char * ResolutionItems[] =
{
"1080i",
"720p",
"576p",
"576i",
NULL
};
static const char * TvFormatItems[] =
{
"4/3",
"16/9",
NULL
};
static const char * VideoConversionItems[] =
{
"Automatic",
"Letterbox 16/9",
"Letterbox 14/9",
"Pillarbox",
"CentreCutOut",
"Always 16/9",
NULL
};
static const char * AnalogueVideoItems[] =
{
"Disabled",
"RGB",
"CVBS + YUV",
"YC (S-Video)",
NULL
};
static const char * AudioDownmixItems[] =
{
"Disabled",
"Analogue only",
"Always",
"Automatic",
"HDMI only",
NULL
};
static const char * OsdSizeItems[] =
{
"Follow resolution",
"1920x1080",
"1280x720",
"1024x576",
"720x576",
NULL
};
static const char * RemoteProtocolItems[] =
{
"none",
"RC5",
"RC6",
NULL
};
cHdffSetup gHdffSetup; cHdffSetup gHdffSetup;
@ -162,7 +91,7 @@ void cHdffSetup::GetOsdSize(int &Width, int &Height, double &PixelAspect)
Height = 576; Height = 576;
PixelAspect = 4.0 / 3.0; PixelAspect = 4.0 / 3.0;
} }
PixelAspect /= double(Width) / Height; PixelAspect /= double(Width) / Height;
} }
HDFF::eHdmiVideoMode cHdffSetup::GetVideoMode(void) HDFF::eHdmiVideoMode cHdffSetup::GetVideoMode(void)
@ -183,21 +112,87 @@ HDFF::eHdmiVideoMode cHdffSetup::GetVideoMode(void)
cHdffSetupPage::cHdffSetupPage(HDFF::cHdffCmdIf * pHdffCmdIf) cHdffSetupPage::cHdffSetupPage(HDFF::cHdffCmdIf * pHdffCmdIf)
{ {
const int kResolutions = 4;
const int kTvFormats = 2;
const int kVideoConversions = 6;
const int kAnalogueVideos = 4;
const int kAudioDownmixes = 5;
const int kOsdSizes = 5;
const int kRemoteProtocols = 3;
static const char * ResolutionItems[kResolutions] =
{
"1080i",
"720p",
"576p",
"576i",
};
static const char * TvFormatItems[kTvFormats] =
{
"4/3",
"16/9",
};
static const char * VideoConversionItems[kVideoConversions] =
{
tr("Automatic"),
tr("Letterbox 16/9"),
tr("Letterbox 14/9"),
tr("Pillarbox"),
tr("CentreCutOut"),
tr("Always 16/9"),
};
static const char * AnalogueVideoItems[kAnalogueVideos] =
{
tr("Disabled"),
"RGB",
"CVBS + YUV",
"YC (S-Video)",
};
static const char * AudioDownmixItems[kAudioDownmixes] =
{
tr("Disabled"),
tr("Analogue only"),
tr("Always"),
tr("Automatic"),
tr("HDMI only"),
};
static const char * OsdSizeItems[kOsdSizes] =
{
tr("Follow resolution"),
"1920x1080",
"1280x720",
"1024x576",
"720x576",
};
static const char * RemoteProtocolItems[] =
{
tr("none"),
"RC5",
"RC6",
};
mHdffCmdIf = pHdffCmdIf; mHdffCmdIf = pHdffCmdIf;
mNewHdffSetup = gHdffSetup; mNewHdffSetup = gHdffSetup;
Add(new cMenuEditStraItem("Resolution", &mNewHdffSetup.Resolution, kResolutions, ResolutionItems)); Add(new cMenuEditStraItem(tr("Resolution"), &mNewHdffSetup.Resolution, kResolutions, ResolutionItems));
Add(new cMenuEditStraItem("TV format", &mNewHdffSetup.TvFormat, kTvFormats, TvFormatItems)); Add(new cMenuEditStraItem(tr("TV format"), &mNewHdffSetup.TvFormat, kTvFormats, TvFormatItems));
Add(new cMenuEditStraItem("Video Conversion", &mNewHdffSetup.VideoConversion, kVideoConversions, VideoConversionItems)); Add(new cMenuEditStraItem(tr("Video Conversion"), &mNewHdffSetup.VideoConversion, kVideoConversions, VideoConversionItems));
Add(new cMenuEditStraItem("Analogue Video", &mNewHdffSetup.AnalogueVideo, kAnalogueVideos, AnalogueVideoItems)); Add(new cMenuEditStraItem(tr("Analogue Video"), &mNewHdffSetup.AnalogueVideo, kAnalogueVideos, AnalogueVideoItems));
Add(new cMenuEditIntItem("Audio Delay (ms)", &mNewHdffSetup.AudioDelay, 0, 500)); Add(new cMenuEditIntItem(tr("Audio Delay (ms)"), &mNewHdffSetup.AudioDelay, 0, 500));
Add(new cMenuEditStraItem("Audio Downmix", &mNewHdffSetup.AudioDownmix, kAudioDownmixes, AudioDownmixItems)); Add(new cMenuEditStraItem(tr("Audio Downmix"), &mNewHdffSetup.AudioDownmix, kAudioDownmixes, AudioDownmixItems));
Add(new cMenuEditStraItem("Osd Size", &mNewHdffSetup.OsdSize, kOsdSizes, OsdSizeItems)); Add(new cMenuEditStraItem(tr("OSD Size"), &mNewHdffSetup.OsdSize, kOsdSizes, OsdSizeItems));
Add(new cMenuEditBoolItem("HDMI CEC", &mNewHdffSetup.CecEnabled)); Add(new cMenuEditBoolItem(tr("HDMI CEC"), &mNewHdffSetup.CecEnabled));
Add(new cMenuEditStraItem("Remote Control Protocol", &mNewHdffSetup.RemoteProtocol, kRemoteProtocols, RemoteProtocolItems)); Add(new cMenuEditStraItem(tr("Remote Control Protocol"), &mNewHdffSetup.RemoteProtocol, kRemoteProtocols, RemoteProtocolItems));
Add(new cMenuEditIntItem("Remote Control Address", &mNewHdffSetup.RemoteAddress, -1, 31)); Add(new cMenuEditIntItem(tr("Remote Control Address"), &mNewHdffSetup.RemoteAddress, -1, 31));
Add(new cMenuEditBoolItem("High Level OSD", &mNewHdffSetup.HighLevelOsd)); Add(new cMenuEditBoolItem(tr("High Level OSD"), &mNewHdffSetup.HighLevelOsd));
Add(new cMenuEditBoolItem("Allow True Color OSD", &mNewHdffSetup.TrueColorOsd)); Add(new cMenuEditBoolItem(tr("Allow True Color OSD"), &mNewHdffSetup.TrueColorOsd));
} }
cHdffSetupPage::~cHdffSetupPage(void) cHdffSetupPage::~cHdffSetupPage(void)

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # Makefile for a Video Disk Recorder plugin
# #
# $Id: Makefile 1.6 2011/02/27 10:04:54 kls Exp $ # $Id: Makefile 1.7 2011/05/21 12:25:37 kls Exp $
# The official name of this plugin. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin. # This name will be used in the '-P...' option of VDR to load the plugin.
@ -83,7 +83,7 @@ I18Npot = $(PODIR)/$(PLUGIN).pot
msgfmt -c -o $@ $< msgfmt -c -o $@ $<
$(I18Npot): $(wildcard *.c) $(I18Npot): $(wildcard *.c)
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<see README>' -o $@ $^ xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<see README>' -o $@ `ls $^`
%.po: $(I18Npot) %.po: $(I18Npot)
msgmerge -U --no-wrap --no-location --backup=none -q $@ $< msgmerge -U --no-wrap --no-location --backup=none -q $@ $<

View File

@ -3,7 +3,7 @@
* *
* See the README file for copyright information and how to reach the author. * See the README file for copyright information and how to reach the author.
* *
* $Id: dvbsdffdevice.c 2.27 2010/09/19 12:43:33 kls Exp $ * $Id: dvbsdffdevice.c 2.29 2011/05/22 15:22:14 kls Exp $
*/ */
#include "dvbsdffdevice.h" #include "dvbsdffdevice.h"
@ -90,6 +90,11 @@ bool cDvbSdFfDevice::HasDecoder(void) const
return true; return true;
} }
bool cDvbSdFfDevice::AvoidRecording(void) const
{
return true;
}
cSpuDecoder *cDvbSdFfDevice::GetSpuDecoder(void) cSpuDecoder *cDvbSdFfDevice::GetSpuDecoder(void)
{ {
if (!spuDecoder && IsPrimaryDevice()) if (!spuDecoder && IsPrimaryDevice())
@ -772,22 +777,7 @@ bool cDvbSdFfDeviceProbe::Probe(int Adapter, int Frontend)
0x13C21002, // Technotrend/Hauppauge WinTV DVB-S rev1.3 SE 0x13C21002, // Technotrend/Hauppauge WinTV DVB-S rev1.3 SE
0x00000000 0x00000000
}; };
cString FileName; uint32_t SubsystemId = GetSubsystemId(Adapter, Frontend);
cReadLine ReadLine;
FILE *f = NULL;
uint32_t SubsystemId = 0;
FileName = cString::sprintf("/sys/class/dvb/dvb%d.frontend%d/device/subsystem_vendor", Adapter, Frontend);
if ((f = fopen(FileName, "r")) != NULL) {
if (char *s = ReadLine.Read(f))
SubsystemId = strtoul(s, NULL, 0) << 16;
fclose(f);
}
FileName = cString::sprintf("/sys/class/dvb/dvb%d.frontend%d/device/subsystem_device", Adapter, Frontend);
if ((f = fopen(FileName, "r")) != NULL) {
if (char *s = ReadLine.Read(f))
SubsystemId |= strtoul(s, NULL, 0);
fclose(f);
}
for (uint32_t *sid = SubsystemIds; *sid; sid++) { for (uint32_t *sid = SubsystemIds; *sid; sid++) {
if (*sid == SubsystemId) { if (*sid == SubsystemId) {
dsyslog("creating cDvbSdFfDevice"); dsyslog("creating cDvbSdFfDevice");

View File

@ -3,7 +3,7 @@
* *
* See the README file for copyright information and how to reach the author. * See the README file for copyright information and how to reach the author.
* *
* $Id: dvbsdffdevice.h 2.11 2010/01/04 11:01:14 kls Exp $ * $Id: dvbsdffdevice.h 2.12 2011/05/21 12:56:49 kls Exp $
*/ */
#ifndef __DVBSDFFDEVICE_H #ifndef __DVBSDFFDEVICE_H
@ -23,6 +23,7 @@ public:
cDvbSdFfDevice(int Adapter, int Frontend); cDvbSdFfDevice(int Adapter, int Frontend);
virtual ~cDvbSdFfDevice(); virtual ~cDvbSdFfDevice();
virtual bool HasDecoder(void) const; virtual bool HasDecoder(void) const;
virtual bool AvoidRecording(void) const;
// SPU facilities // SPU facilities

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # Makefile for a Video Disk Recorder plugin
# #
# $Id: Makefile 2.6 2011/02/27 10:04:58 kls Exp $ # $Id: Makefile 2.7 2011/05/21 12:25:41 kls Exp $
# The official name of this plugin. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin. # This name will be used in the '-P...' option of VDR to load the plugin.
@ -83,7 +83,7 @@ I18Npot = $(PODIR)/$(PLUGIN).pot
msgfmt -c -o $@ $< msgfmt -c -o $@ $<
$(I18Npot): $(wildcard *.c) $(I18Npot): $(wildcard *.c)
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<vdr-bugs@tvdr.de>' -o $@ $^ xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<vdr-bugs@tvdr.de>' -o $@ `ls $^`
%.po: $(I18Npot) %.po: $(I18Npot)
msgmerge -U --no-wrap --no-location --backup=none -q $@ $< msgmerge -U --no-wrap --no-location --backup=none -q $@ $<

View File

@ -9,14 +9,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n" "PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Jordi Vilà <jvila@tinet.org>\n" "Last-Translator: Jordi Vilà <jvila@tinet.org>\n"
"Language-Team: Catalan <vdr@linuxtv.org>\n" "Language-Team: Catalan <vdr@linuxtv.org>\n"
"Language: ca\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: ca\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "" msgstr ""

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n" "PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Vladimír Bárta <vladimir.barta@k2atmitec.cz>\n" "Last-Translator: Vladimír Bárta <vladimir.barta@k2atmitec.cz>\n"
"Language-Team: Czech <vdr@linuxtv.org>\n" "Language-Team: Czech <vdr@linuxtv.org>\n"
"Language: cs\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: cs\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "Pøátelský pozdrav" msgstr "Pøátelský pozdrav"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n" "PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n" "Last-Translator: Mogens Elneff <mogens@elneff.dk>\n"
"Language-Team: Danish <vdr@linuxtv.org>\n" "Language-Team: Danish <vdr@linuxtv.org>\n"
"Language: da\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n" "Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: da\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "" msgstr ""

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n" "PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n" "Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n"
"Language-Team: German <vdr@linuxtv.org>\n" "Language-Team: German <vdr@linuxtv.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n" "Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "Ein freundlicher Gruß" msgstr "Ein freundlicher Gruß"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n" "PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n" "Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n"
"Language-Team: Greek <vdr@linuxtv.org>\n" "Language-Team: Greek <vdr@linuxtv.org>\n"
"Language: el\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-7\n" "Content-Type: text/plain; charset=ISO-8859-7\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: el\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "" msgstr ""

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n" "PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Ruben Nunez Francisco <ruben.nunez@tang-it.com>\n" "Last-Translator: Ruben Nunez Francisco <ruben.nunez@tang-it.com>\n"
"Language-Team: Spanish <vdr@linuxtv.org>\n" "Language-Team: Spanish <vdr@linuxtv.org>\n"
"Language: es\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n" "Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: es\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "" msgstr ""

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n" "PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Arthur Konovalov <kasjas@hot.ee>\n" "Last-Translator: Arthur Konovalov <kasjas@hot.ee>\n"
"Language-Team: Estonian <vdr@linuxtv.org>\n" "Language-Team: Estonian <vdr@linuxtv.org>\n"
"Language: et\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-13\n" "Content-Type: text/plain; charset=ISO-8859-13\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: et\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "" msgstr ""

View File

@ -10,14 +10,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n" "PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n" "Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
"Language-Team: Finnish <vdr@linuxtv.org>\n" "Language-Team: Finnish <vdr@linuxtv.org>\n"
"Language: fi\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: fi\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "Ystävällisin terveisin" msgstr "Ystävällisin terveisin"

View File

@ -10,14 +10,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n" "PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Nicolas Huillard <nhuillard@e-dition.fr>\n" "Last-Translator: Nicolas Huillard <nhuillard@e-dition.fr>\n"
"Language-Team: French <vdr@linuxtv.org>\n" "Language-Team: French <vdr@linuxtv.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: fr\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "" msgstr ""

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2008-03-17 19:52+0100\n" "PO-Revision-Date: 2008-03-17 19:52+0100\n"
"Last-Translator: Adrian Caval <anrxc@sysphere.org>\n" "Last-Translator: Adrian Caval <anrxc@sysphere.org>\n"
"Language-Team: Croatian <vdr@linuxtv.org>\n" "Language-Team: Croatian <vdr@linuxtv.org>\n"
"Language: hr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: hr\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "Prijateljska dobrodo¹lica" msgstr "Prijateljska dobrodo¹lica"

View File

@ -8,14 +8,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n" "PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Istvan Koenigsberger <istvnko@hotmail.com>, Guido Josten <guido.josten@t-online.de>\n" "Last-Translator: Istvan Koenigsberger <istvnko@hotmail.com>, Guido Josten <guido.josten@t-online.de>\n"
"Language-Team: Hungarian <vdr@linuxtv.org>\n" "Language-Team: Hungarian <vdr@linuxtv.org>\n"
"Language: hu\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: hu\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "" msgstr ""

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2008-01-27 20:11+0100\n" "PO-Revision-Date: 2008-01-27 20:11+0100\n"
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n" "Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: Italian <vdr@linuxtv.org>\n" "Language-Team: Italian <vdr@linuxtv.org>\n"
"Language: it\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n" "Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: it\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "Un saluto cordiale" msgstr "Un saluto cordiale"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.7.10\n" "Project-Id-Version: VDR 1.7.10\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2009-12-08 12:18+0200\n" "PO-Revision-Date: 2009-12-08 12:18+0200\n"
"Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n" "Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n"
"Language-Team: Lithuanian <vdr@linuxtv.org>\n" "Language-Team: Lithuanian <vdr@linuxtv.org>\n"
"Language: lt\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: lt\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "Draugiškas labas" msgstr "Draugiškas labas"

View File

@ -9,14 +9,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n" "PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>\n" "Last-Translator: Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>\n"
"Language-Team: Dutch <vdr@linuxtv.org>\n" "Language-Team: Dutch <vdr@linuxtv.org>\n"
"Language: nl\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n" "Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: nl\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "" msgstr ""

View File

@ -8,14 +8,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n" "PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Truls Slevigen <truls@slevigen.no>\n" "Last-Translator: Truls Slevigen <truls@slevigen.no>\n"
"Language-Team: Norwegian Nynorsk <vdr@linuxtv.org>\n" "Language-Team: Norwegian Nynorsk <vdr@linuxtv.org>\n"
"Language: nn\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: nn\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "" msgstr ""

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n" "PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Michael Rakowski <mrak@gmx.de>\n" "Last-Translator: Michael Rakowski <mrak@gmx.de>\n"
"Language-Team: Polish <vdr@linuxtv.org>\n" "Language-Team: Polish <vdr@linuxtv.org>\n"
"Language: pl\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: pl\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "" msgstr ""

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n" "PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Paulo Lopes <pmml@netvita.pt>\n" "Last-Translator: Paulo Lopes <pmml@netvita.pt>\n"
"Language-Team: Portuguese <vdr@linuxtv.org>\n" "Language-Team: Portuguese <vdr@linuxtv.org>\n"
"Language: pt\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: pt\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "" msgstr ""

View File

@ -8,14 +8,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n" "PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n" "Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n"
"Language-Team: Romanian <vdr@linuxtv.org>\n" "Language-Team: Romanian <vdr@linuxtv.org>\n"
"Language: ro\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: ro\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "" msgstr ""

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n" "PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Vyacheslav Dikonov <sdiconov@mail.ru>\n" "Last-Translator: Vyacheslav Dikonov <sdiconov@mail.ru>\n"
"Language-Team: Russian <vdr@linuxtv.org>\n" "Language-Team: Russian <vdr@linuxtv.org>\n"
"Language: ru\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-5\n" "Content-Type: text/plain; charset=ISO-8859-5\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: ru\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "´àãÖÕáÚÞÕ ßàØÒÕâáâÒØÕ" msgstr "´àãÖÕáÚÞÕ ßàØÒÕâáâÒØÕ"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2009-09-30 09:48+0100\n" "PO-Revision-Date: 2009-09-30 09:48+0100\n"
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n" "Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
"Language-Team: Slovak <vdr@linuxtv.org>\n" "Language-Team: Slovak <vdr@linuxtv.org>\n"
"Language: sk\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: sk\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "Priateµský pozdrav" msgstr "Priateµský pozdrav"

View File

@ -8,14 +8,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n" "PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n" "Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n"
"Language-Team: Slovenian <vdr@linuxtv.org>\n" "Language-Team: Slovenian <vdr@linuxtv.org>\n"
"Language: sl\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: sl\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "" msgstr ""

View File

@ -8,14 +8,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2007-08-11 12:34+0200\n" "PO-Revision-Date: 2007-08-11 12:34+0200\n"
"Last-Translator: Tomas Prybil <tomas@prybil.se>\n" "Last-Translator: Tomas Prybil <tomas@prybil.se>\n"
"Language-Team: Swedish <vdr@linuxtv.org>\n" "Language-Team: Swedish <vdr@linuxtv.org>\n"
"Language: sv\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: sv\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "" msgstr ""

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2008-05-12 22:34:4800\n" "PO-Revision-Date: 2008-05-12 22:34:4800\n"
"Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n" "Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n"
"Language-Team: Turkish <vdr@linuxtv.org>\n" "Language-Team: Turkish <vdr@linuxtv.org>\n"
"Language: tr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-9\n" "Content-Type: text/plain; charset=ISO-8859-9\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: tr\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "Dostça selam" msgstr "Dostça selam"

View File

@ -10,14 +10,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2009-01-23 09:48+0800\n" "PO-Revision-Date: 2009-01-23 09:48+0800\n"
"Last-Translator: senin\n" "Last-Translator: senin\n"
"Language-Team: Chinese (simplified) <vdr@linuxtv.org>\n" "Language-Team: Chinese (simplified) <vdr@linuxtv.org>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: zh_CN\n"
msgid "A friendly greeting" msgid "A friendly greeting"
msgstr "友好的问候" msgstr "友好的问候"

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # Makefile for a Video Disk Recorder plugin
# #
# $Id: Makefile 2.6 2011/02/27 10:05:02 kls Exp $ # $Id: Makefile 2.7 2011/05/21 12:25:45 kls Exp $
# The official name of this plugin. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin. # This name will be used in the '-P...' option of VDR to load the plugin.
@ -83,7 +83,7 @@ I18Npot = $(PODIR)/$(PLUGIN).pot
msgfmt -c -o $@ $< msgfmt -c -o $@ $<
$(I18Npot): $(wildcard *.c) $(I18Npot): $(wildcard *.c)
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<vdr-bugs@tvdr.de>' -o $@ $^ xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<vdr-bugs@tvdr.de>' -o $@ `ls $^`
%.po: $(I18Npot) %.po: $(I18Npot)
msgmerge -U --no-wrap --no-location --backup=none -q $@ $< msgmerge -U --no-wrap --no-location --backup=none -q $@ $<

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2008-01-12 17:41+0100\n" "PO-Revision-Date: 2008-01-12 17:41+0100\n"
"Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n" "Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n"
"Language-Team: German <vdr@linuxtv.org>\n" "Language-Team: German <vdr@linuxtv.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n" "Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Pictures" msgid "Pictures"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2008-01-12 17:41+0100\n" "PO-Revision-Date: 2008-01-12 17:41+0100\n"
"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n" "Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
"Language-Team: Finnish <vdr@linuxtv.org>\n" "Language-Team: Finnish <vdr@linuxtv.org>\n"
"Language: fi\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: fi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Pictures" msgid "Pictures"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2008-01-12 17:41+0100\n" "PO-Revision-Date: 2008-01-12 17:41+0100\n"
"Last-Translator: Patrice Staudt <ipatrice.staudt@laposte.net>\n" "Last-Translator: Patrice Staudt <ipatrice.staudt@laposte.net>\n"
"Language-Team: French <vdr@linuxtv.org>\n" "Language-Team: French <vdr@linuxtv.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n" "Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Pictures" msgid "Pictures"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2008-01-27 20:22+0100\n" "PO-Revision-Date: 2008-01-27 20:22+0100\n"
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n" "Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: Italian <vdr@linuxtv.org>\n" "Language-Team: Italian <vdr@linuxtv.org>\n"
"Language: it\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n" "Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Pictures" msgid "Pictures"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.7.10\n" "Project-Id-Version: VDR 1.7.10\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2009-12-08 12:41+0100\n" "PO-Revision-Date: 2009-12-08 12:41+0100\n"
"Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>, 2009\n" "Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>, 2009\n"
"Language-Team: Lithuanian <vdr@linuxtv.org>\n" "Language-Team: Lithuanian <vdr@linuxtv.org>\n"
"Language: lt\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: lt\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Pictures" msgid "Pictures"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2008-03-14 00:45+0100\n" "PO-Revision-Date: 2008-03-14 00:45+0100\n"
"Last-Translator: Alexander Gross <Bikalexander@gmail.com>\n" "Last-Translator: Alexander Gross <Bikalexander@gmail.com>\n"
"Language-Team: Russian <vdr@linuxtv.org>\n" "Language-Team: Russian <vdr@linuxtv.org>\n"
"Language: ru\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-5\n" "Content-Type: text/plain; charset=ISO-8859-5\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: ru\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: KBabel 1.11.4\n" "X-Generator: KBabel 1.11.4\n"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-15 15:08+0200\n"
"PO-Revision-Date: 2009-09-30 12:54+0100\n" "PO-Revision-Date: 2009-09-30 12:54+0100\n"
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n" "Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
"Language-Team: Slovak <vdr@linuxtv.org>\n" "Language-Team: Slovak <vdr@linuxtv.org>\n"
"Language: sk\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-2\n" "Content-Type: text/plain; charset=iso-8859-2\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: sk\n"
msgid "Pictures" msgid "Pictures"
msgstr "Obrázky" msgstr "Obrázky"

View File

@ -88,3 +88,7 @@ VDR Plugin 'skincurses' Revision History
2010-02-28: Version 0.1.9 2010-02-28: Version 0.1.9
- Added Lithuanian language translations (thanks to Valdemaras Pipiras). - Added Lithuanian language translations (thanks to Valdemaras Pipiras).
2011-05-15: Version 0.1.10
- Avoiding a gcc 4.6 compiler error (thanks to Tobias Grimm).

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # Makefile for a Video Disk Recorder plugin
# #
# $Id: Makefile 2.6 2011/02/27 10:05:05 kls Exp $ # $Id: Makefile 2.7 2011/05/21 12:25:49 kls Exp $
# The official name of this plugin. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin. # This name will be used in the '-P...' option of VDR to load the plugin.
@ -83,7 +83,7 @@ I18Npot = $(PODIR)/$(PLUGIN).pot
msgfmt -c -o $@ $< msgfmt -c -o $@ $<
$(I18Npot): $(wildcard *.c) $(I18Npot): $(wildcard *.c)
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<vdr-bugs@tvdr.de>' -o $@ $^ xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<vdr-bugs@tvdr.de>' -o $@ `ls $^`
%.po: $(I18Npot) %.po: $(I18Npot)
msgmerge -U --no-wrap --no-location --backup=none -q $@ $< msgmerge -U --no-wrap --no-location --backup=none -q $@ $<

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-21 14:36+0200\n"
"PO-Revision-Date: 2007-08-15 16:07+0200\n" "PO-Revision-Date: 2007-08-15 16:07+0200\n"
"Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n" "Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n"
"Language-Team: German <vdr@linuxtv.org>\n" "Language-Team: German <vdr@linuxtv.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n" "Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n"
msgid "A text only skin" msgid "A text only skin"
msgstr "Eine reine Text-Oberfläche" msgstr "Eine reine Text-Oberfläche"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-21 14:36+0200\n"
"PO-Revision-Date: 2007-08-14 20:48+0300\n" "PO-Revision-Date: 2007-08-14 20:48+0300\n"
"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n" "Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
"Language-Team: Finnish <vdr@linuxtv.org>\n" "Language-Team: Finnish <vdr@linuxtv.org>\n"
"Language: fi\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: fi\n"
msgid "A text only skin" msgid "A text only skin"
msgstr "Tekstipohjainen ulkoasu" msgstr "Tekstipohjainen ulkoasu"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-21 14:36+0200\n"
"PO-Revision-Date: 2008-01-27 20:35+0100\n" "PO-Revision-Date: 2008-01-27 20:35+0100\n"
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n" "Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: Italian <vdr@linuxtv.org>\n" "Language-Team: Italian <vdr@linuxtv.org>\n"
"Language: it\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n" "Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: it\n"
msgid "A text only skin" msgid "A text only skin"
msgstr "Una interfaccia solo testo" msgstr "Una interfaccia solo testo"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.7.12\n" "Project-Id-Version: VDR 1.7.12\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-21 14:36+0200\n"
"PO-Revision-Date: 2010-02-22 18:18+0200\n" "PO-Revision-Date: 2010-02-22 18:18+0200\n"
"Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n" "Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n"
"Language-Team: Lithuanian <vdr@linuxtv.org>\n" "Language-Team: Lithuanian <vdr@linuxtv.org>\n"
"Language: lt\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: lt\n"
msgid "A text only skin" msgid "A text only skin"
msgstr "Tekstinis apvalkalas" msgstr "Tekstinis apvalkalas"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-21 14:36+0200\n"
"PO-Revision-Date: 2008-03-14 00:21+0100\n" "PO-Revision-Date: 2008-03-14 00:21+0100\n"
"Last-Translator: Alexander Gross <Bikalexander@gmail.com>\n" "Last-Translator: Alexander Gross <Bikalexander@gmail.com>\n"
"Language-Team: Russian <vdr@linuxtv.org>\n" "Language-Team: Russian <vdr@linuxtv.org>\n"
"Language: ru\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-5\n" "Content-Type: text/plain; charset=ISO-8859-5\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: ru\n"
"X-Generator: KBabel 1.11.4\n" "X-Generator: KBabel 1.11.4\n"
msgid "A text only skin" msgid "A text only skin"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:43+0200\n" "POT-Creation-Date: 2011-05-21 14:36+0200\n"
"PO-Revision-Date: 2009-09-30 12:52+0100\n" "PO-Revision-Date: 2009-09-30 12:52+0100\n"
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n" "Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
"Language-Team: Slovak <vdr@linuxtv.org>\n" "Language-Team: Slovak <vdr@linuxtv.org>\n"
"Language: sk\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-2\n" "Content-Type: text/plain; charset=iso-8859-2\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: sk\n"
msgid "A text only skin" msgid "A text only skin"
msgstr "Iba text vzhµadu" msgstr "Iba text vzhµadu"

View File

@ -3,7 +3,7 @@
* *
* See the README file for copyright information and how to reach the author. * See the README file for copyright information and how to reach the author.
* *
* $Id: skincurses.c 2.5 2011/01/04 08:52:03 kls Exp $ * $Id: skincurses.c 2.6 2011/05/15 21:41:47 kls Exp $
*/ */
#include <ncurses.h> #include <ncurses.h>
@ -11,7 +11,7 @@
#include <vdr/plugin.h> #include <vdr/plugin.h>
#include <vdr/skins.h> #include <vdr/skins.h>
static const char *VERSION = "0.1.9"; static const char *VERSION = "0.1.10";
static const char *DESCRIPTION = trNOOP("A text only skin"); static const char *DESCRIPTION = trNOOP("A text only skin");
static const char *MAINMENUENTRY = NULL; static const char *MAINMENUENTRY = NULL;
@ -26,7 +26,7 @@ public:
virtual void DrawText(cPixmap *Pixmap, int x, int y, const char *s, tColor ColorFg, tColor ColorBg, int Width) const {} virtual void DrawText(cPixmap *Pixmap, int x, int y, const char *s, tColor ColorFg, tColor ColorBg, int Width) const {}
}; };
static const cCursesFont Font; static const cCursesFont Font = cCursesFont(); // w/o the '= cCursesFont()' gcc 4.6 complains - can anybody explain why this is necessary?
// --- cCursesOsd ------------------------------------------------------------ // --- cCursesOsd ------------------------------------------------------------

16
ci.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: ci.c 2.6 2010/01/02 10:39:50 kls Exp $ * $Id: ci.c 2.7 2011/05/21 15:21:33 kls Exp $
*/ */
#include "ci.h" #include "ci.h"
@ -1894,9 +1894,9 @@ void cCamSlot::SetPid(int Pid, bool Active)
} }
// see ISO/IEC 13818-1 // see ISO/IEC 13818-1
#define STREAM_TYPE_VIDEO 0x02 #define STREAM_TYPE_VIDEO 0x02
#define STREAM_TYPE_AUDIO 0x04 #define STREAM_TYPE_AUDIO 0x04
#define STREAM_TYPE_DOLBY 0x06 #define STREAM_TYPE_PRIVATE 0x06
void cCamSlot::AddChannel(const cChannel *Channel) void cCamSlot::AddChannel(const cChannel *Channel)
{ {
@ -1910,7 +1910,9 @@ void cCamSlot::AddChannel(const cChannel *Channel)
for (const int *Apid = Channel->Apids(); *Apid; Apid++) for (const int *Apid = Channel->Apids(); *Apid; Apid++)
AddPid(Channel->Sid(), *Apid, STREAM_TYPE_AUDIO); AddPid(Channel->Sid(), *Apid, STREAM_TYPE_AUDIO);
for (const int *Dpid = Channel->Dpids(); *Dpid; Dpid++) for (const int *Dpid = Channel->Dpids(); *Dpid; Dpid++)
AddPid(Channel->Sid(), *Dpid, STREAM_TYPE_DOLBY); AddPid(Channel->Sid(), *Dpid, STREAM_TYPE_PRIVATE);
for (const int *Spid = Channel->Spids(); *Spid; Spid++)
AddPid(Channel->Sid(), *Spid, STREAM_TYPE_PRIVATE);
} }
} }
@ -1931,7 +1933,9 @@ bool cCamSlot::CanDecrypt(const cChannel *Channel)
for (const int *Apid = Channel->Apids(); *Apid; Apid++) for (const int *Apid = Channel->Apids(); *Apid; Apid++)
CaPmt.AddPid(*Apid, STREAM_TYPE_AUDIO); CaPmt.AddPid(*Apid, STREAM_TYPE_AUDIO);
for (const int *Dpid = Channel->Dpids(); *Dpid; Dpid++) for (const int *Dpid = Channel->Dpids(); *Dpid; Dpid++)
CaPmt.AddPid(*Dpid, STREAM_TYPE_DOLBY); CaPmt.AddPid(*Dpid, STREAM_TYPE_PRIVATE);
for (const int *Spid = Channel->Spids(); *Spid; Spid++)
CaPmt.AddPid(*Spid, STREAM_TYPE_PRIVATE);
cas->SendPMT(&CaPmt); cas->SendPMT(&CaPmt);
cTimeMs Timeout(QUERY_REPLY_TIMEOUT); cTimeMs Timeout(QUERY_REPLY_TIMEOUT);
do { do {

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: config.c 2.13 2010/06/06 10:06:43 kls Exp $ * $Id: config.c 2.14 2011/06/13 14:41:01 kls Exp $
*/ */
#include "config.h" #include "config.h"
@ -395,7 +395,7 @@ cSetup::cSetup(void)
CurrentChannel = -1; CurrentChannel = -1;
CurrentVolume = MAXVOLUME; CurrentVolume = MAXVOLUME;
CurrentDolby = 0; CurrentDolby = 0;
InitialChannel = 0; // InitialChannel is initialized by constructor
InitialVolume = -1; InitialVolume = -1;
ChannelsWrap = 0; ChannelsWrap = 0;
EmergencyExit = 1; EmergencyExit = 1;
@ -404,6 +404,7 @@ cSetup::cSetup(void)
cSetup& cSetup::operator= (const cSetup &s) cSetup& cSetup::operator= (const cSetup &s)
{ {
memcpy(&__BeginData__, &s.__BeginData__, (char *)&s.__EndData__ - (char *)&s.__BeginData__); memcpy(&__BeginData__, &s.__BeginData__, (char *)&s.__EndData__ - (char *)&s.__BeginData__);
InitialChannel = s.InitialChannel;
return *this; return *this;
} }
@ -586,7 +587,7 @@ bool cSetup::Parse(const char *Name, const char *Value)
else if (!strcasecmp(Name, "CurrentChannel")) CurrentChannel = atoi(Value); else if (!strcasecmp(Name, "CurrentChannel")) CurrentChannel = atoi(Value);
else if (!strcasecmp(Name, "CurrentVolume")) CurrentVolume = atoi(Value); else if (!strcasecmp(Name, "CurrentVolume")) CurrentVolume = atoi(Value);
else if (!strcasecmp(Name, "CurrentDolby")) CurrentDolby = atoi(Value); else if (!strcasecmp(Name, "CurrentDolby")) CurrentDolby = atoi(Value);
else if (!strcasecmp(Name, "InitialChannel")) InitialChannel = atoi(Value); else if (!strcasecmp(Name, "InitialChannel")) InitialChannel = Value;
else if (!strcasecmp(Name, "InitialVolume")) InitialVolume = atoi(Value); else if (!strcasecmp(Name, "InitialVolume")) InitialVolume = atoi(Value);
else if (!strcasecmp(Name, "ChannelsWrap")) ChannelsWrap = atoi(Value); else if (!strcasecmp(Name, "ChannelsWrap")) ChannelsWrap = atoi(Value);
else if (!strcasecmp(Name, "EmergencyExit")) EmergencyExit = atoi(Value); else if (!strcasecmp(Name, "EmergencyExit")) EmergencyExit = atoi(Value);

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: config.h 2.30 2011/03/13 12:02:31 kls Exp $ * $Id: config.h 2.32 2011/06/13 14:24:40 kls Exp $
*/ */
#ifndef __CONFIG_H #ifndef __CONFIG_H
@ -22,13 +22,13 @@
// VDR's own version number: // VDR's own version number:
#define VDRVERSION "1.7.18" #define VDRVERSION "1.7.19"
#define VDRVERSNUM 10718 // Version * 10000 + Major * 100 + Minor #define VDRVERSNUM 10719 // Version * 10000 + Major * 100 + Minor
// The plugin API's version number: // The plugin API's version number:
#define APIVERSION "1.7.18" #define APIVERSION "1.7.19"
#define APIVERSNUM 10718 // Version * 10000 + Major * 100 + Minor #define APIVERSNUM 10719 // Version * 10000 + Major * 100 + Minor
// When loading plugins, VDR searches them by their APIVERSION, which // When loading plugins, VDR searches them by their APIVERSION, which
// may be smaller than VDRVERSION in case there have been no changes to // may be smaller than VDRVERSION in case there have been no changes to
@ -287,11 +287,11 @@ public:
int CurrentChannel; int CurrentChannel;
int CurrentVolume; int CurrentVolume;
int CurrentDolby; int CurrentDolby;
int InitialChannel;
int InitialVolume; int InitialVolume;
int ChannelsWrap; int ChannelsWrap;
int EmergencyExit; int EmergencyExit;
int __EndData__; int __EndData__;
cString InitialChannel;
cSetup(void); cSetup(void);
cSetup& operator= (const cSetup &s); cSetup& operator= (const cSetup &s);
bool Load(const char *FileName); bool Load(const char *FileName);

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: device.c 2.38 2011/02/25 15:12:03 kls Exp $ * $Id: device.c 2.41 2011/06/02 13:14:16 kls Exp $
*/ */
#include "device.h" #include "device.h"
@ -286,10 +286,10 @@ cDevice *cDevice::GetDevice(const cChannel *Channel, int Priority, bool LiveView
imp <<= 8; imp |= min(max(device[i]->Priority() + MAXPRIORITY, 0), 0xFF); // use the device with the lowest priority (+MAXPRIORITY to assure that values -99..99 can be used) imp <<= 8; imp |= min(max(device[i]->Priority() + MAXPRIORITY, 0), 0xFF); // use the device with the lowest priority (+MAXPRIORITY to assure that values -99..99 can be used)
imp <<= 8; imp |= min(max((NumUsableSlots ? SlotPriority[j] : 0) + MAXPRIORITY, 0), 0xFF); // use the CAM slot with the lowest priority (+MAXPRIORITY to assure that values -99..99 can be used) imp <<= 8; imp |= min(max((NumUsableSlots ? SlotPriority[j] : 0) + MAXPRIORITY, 0), 0xFF); // use the CAM slot with the lowest priority (+MAXPRIORITY to assure that values -99..99 can be used)
imp <<= 1; imp |= ndr; // avoid devices if we need to detach existing receivers imp <<= 1; imp |= ndr; // avoid devices if we need to detach existing receivers
imp <<= 1; imp |= device[i]->IsPrimaryDevice(); // avoid the primary device
imp <<= 1; imp |= NumUsableSlots ? 0 : device[i]->HasCi(); // avoid cards with Common Interface for FTA channels imp <<= 1; imp |= NumUsableSlots ? 0 : device[i]->HasCi(); // avoid cards with Common Interface for FTA channels
imp <<= 1; imp |= device[i]->HasDecoder(); // avoid full featured cards imp <<= 1; imp |= device[i]->AvoidRecording(); // avoid SD full featured cards
imp <<= 1; imp |= NumUsableSlots ? !ChannelCamRelations.CamDecrypt(Channel->GetChannelID(), j + 1) : 0; // prefer CAMs that are known to decrypt this channel imp <<= 1; imp |= NumUsableSlots ? !ChannelCamRelations.CamDecrypt(Channel->GetChannelID(), j + 1) : 0; // prefer CAMs that are known to decrypt this channel
imp <<= 1; imp |= device[i]->IsPrimaryDevice(); // avoid the primary device
if (imp < Impact) { if (imp < Impact) {
// This device has less impact than any previous one, so we take it. // This device has less impact than any previous one, so we take it.
Impact = imp; Impact = imp;
@ -618,6 +618,16 @@ int cDevice::NumProvidedSystems(void) const
return 0; return 0;
} }
int cDevice::SignalStrength(void) const
{
return -1;
}
int cDevice::SignalQuality(void) const
{
return -1;
}
const cChannel *cDevice::GetCurrentlyTunedTransponder(void) const const cChannel *cDevice::GetCurrentlyTunedTransponder(void) const
{ {
return NULL; return NULL;

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: device.h 2.24 2011/03/21 17:58:41 kls Exp $ * $Id: device.h 2.26 2011/06/02 13:15:31 kls Exp $
*/ */
#ifndef __DEVICE_H #ifndef __DEVICE_H
@ -197,6 +197,9 @@ public:
///< Returns the number of this device (0 ... numDevices). ///< Returns the number of this device (0 ... numDevices).
virtual bool HasDecoder(void) const; virtual bool HasDecoder(void) const;
///< Tells whether this device has an MPEG decoder. ///< Tells whether this device has an MPEG decoder.
virtual bool AvoidRecording(void) const { return false; }
///< Returns true if this device should only be used for recording
///< if no other device is available.
// Device hooks // Device hooks
@ -250,6 +253,16 @@ public:
///< actually provide channels must implement this function. ///< actually provide channels must implement this function.
///< The result of this function is used when selecting a device, in order ///< The result of this function is used when selecting a device, in order
///< to avoid devices that provide more than one system. ///< to avoid devices that provide more than one system.
virtual int SignalStrength(void) const;
///< Returns the "strength" of the currently received signal.
///< This is a value in the range 0 (no signal at all) through
///< 100 (best possible signal). A value of -1 indicates that this
///< device has no concept of a "signal strength".
virtual int SignalQuality(void) const;
///< Returns the "quality" of the currently received signal.
///< This is a value in the range 0 (worst quality) through
///< 100 (best possible quality). A value of -1 indicates that this
///< device has no concept of a "signal quality".
virtual const cChannel *GetCurrentlyTunedTransponder(void) const; virtual const cChannel *GetCurrentlyTunedTransponder(void) const;
///< Returns a pointer to the currently tuned transponder. ///< Returns a pointer to the currently tuned transponder.
///< This is not one of the channels in the global cChannels list, but rather ///< This is not one of the channels in the global cChannels list, but rather

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: diseqc.c 2.2 2010/02/06 15:43:31 kls Exp $ * $Id: diseqc.c 2.4 2011/05/22 10:36:12 kls Exp $
*/ */
#include "diseqc.h" #include "diseqc.h"
@ -59,7 +59,7 @@ bool cDiseqc::Parse(const char *s)
polarization = char(toupper(polarization)); polarization = char(toupper(polarization));
if (polarization == 'V' || polarization == 'H' || polarization == 'L' || polarization == 'R') { if (polarization == 'V' || polarization == 'H' || polarization == 'L' || polarization == 'R') {
parsing = true; parsing = true;
char *CurrentAction = NULL; const char *CurrentAction = NULL;
while (Execute(&CurrentAction) != daNone) while (Execute(&CurrentAction) != daNone)
; ;
parsing = false; parsing = false;
@ -75,7 +75,7 @@ bool cDiseqc::Parse(const char *s)
return result; return result;
} }
char *cDiseqc::Wait(char *s) const char *cDiseqc::Wait(const char *s) const
{ {
char *p = NULL; char *p = NULL;
errno = 0; errno = 0;
@ -89,19 +89,22 @@ char *cDiseqc::Wait(char *s)
return NULL; return NULL;
} }
char *cDiseqc::Codes(char *s) const char *cDiseqc::Codes(const char *s) const
{ {
char *e = strchr(s, ']'); const char *e = strchr(s, ']');
if (e) { if (e) {
numCodes = 0; int NumCodes = 0;
char *t = s; const char *t = s;
char *p = s; char *p;
while (t < e) { while (t < e) {
if (numCodes < MaxDiseqcCodes) { if (NumCodes < MaxDiseqcCodes) {
errno = 0; errno = 0;
int n = strtol(t, &p, 16); int n = strtol(t, &p, 16);
if (!errno && p != t && 0 <= n && n <= 255) { if (!errno && p != t && 0 <= n && n <= 255) {
codes[numCodes++] = uchar(n); if (parsing) {
codes[NumCodes++] = uchar(n);
numCodes = NumCodes;
}
t = skipspace(p); t = skipspace(p);
} }
else { else {
@ -121,7 +124,7 @@ char *cDiseqc::Codes(char *s)
return NULL; return NULL;
} }
cDiseqc::eDiseqcActions cDiseqc::Execute(char **CurrentAction) cDiseqc::eDiseqcActions cDiseqc::Execute(const char **CurrentAction) const
{ {
if (!*CurrentAction) if (!*CurrentAction)
*CurrentAction = commands; *CurrentAction = commands;
@ -146,10 +149,10 @@ cDiseqc::eDiseqcActions cDiseqc::Execute(char **CurrentAction)
cDiseqcs Diseqcs; cDiseqcs Diseqcs;
cDiseqc *cDiseqcs::Get(int Device, int Source, int Frequency, char Polarization) const cDiseqc *cDiseqcs::Get(int Device, int Source, int Frequency, char Polarization) const
{ {
int Devices = 0; int Devices = 0;
for (cDiseqc *p = First(); p; p = Next(p)) { for (const cDiseqc *p = First(); p; p = Next(p)) {
if (p->Devices()) { if (p->Devices()) {
Devices = p->Devices(); Devices = p->Devices();
continue; continue;
@ -157,7 +160,7 @@ cDiseqc *cDiseqcs::Get(int Device, int Source, int Frequency, char Polarization)
if (Devices && !(Devices & (1 << Device - 1))) if (Devices && !(Devices & (1 << Device - 1)))
continue; continue;
if (p->Source() == Source && p->Slof() > Frequency && p->Polarization() == toupper(Polarization)) if (p->Source() == Source && p->Slof() > Frequency && p->Polarization() == toupper(Polarization))
return p; return p;
} }
return NULL; return NULL;
} }

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: diseqc.h 2.1 2010/02/06 15:14:42 kls Exp $ * $Id: diseqc.h 2.2 2011/05/22 10:35:38 kls Exp $
*/ */
#ifndef __DISEQC_H #ifndef __DISEQC_H
@ -33,15 +33,15 @@ private:
int lof; int lof;
char *commands; char *commands;
bool parsing; bool parsing;
uchar codes[MaxDiseqcCodes]; mutable uchar codes[MaxDiseqcCodes];
int numCodes; mutable int numCodes;
char *Wait(char *s); const char *Wait(const char *s) const;
char *Codes(char *s); const char *Codes(const char *s) const;
public: public:
cDiseqc(void); cDiseqc(void);
~cDiseqc(); ~cDiseqc();
bool Parse(const char *s); bool Parse(const char *s);
eDiseqcActions Execute(char **CurrentAction); eDiseqcActions Execute(const char **CurrentAction) const;
// Parses the DiSEqC commands and returns the appropriate action code // Parses the DiSEqC commands and returns the appropriate action code
// with every call. CurrentAction must be the address of a character pointer, // with every call. CurrentAction must be the address of a character pointer,
// which is initialized to NULL. This pointer is used internally while parsing // which is initialized to NULL. This pointer is used internally while parsing
@ -55,12 +55,12 @@ public:
char Polarization(void) const { return polarization; } char Polarization(void) const { return polarization; }
int Lof(void) const { return lof; } int Lof(void) const { return lof; }
const char *Commands(void) const { return commands; } const char *Commands(void) const { return commands; }
uchar *Codes(int &NumCodes) { NumCodes = numCodes; return numCodes ? codes : NULL; } const uchar *Codes(int &NumCodes) const { NumCodes = numCodes; return numCodes ? codes : NULL; }
}; };
class cDiseqcs : public cConfig<cDiseqc> { class cDiseqcs : public cConfig<cDiseqc> {
public: public:
cDiseqc *Get(int Device, int Source, int Frequency, char Polarization); const cDiseqc *Get(int Device, int Source, int Frequency, char Polarization) const;
}; };
extern cDiseqcs Diseqcs; extern cDiseqcs Diseqcs;

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: dvbdevice.c 2.38 2010/05/01 09:47:13 kls Exp $ * $Id: dvbdevice.c 2.42 2011/06/11 14:34:24 kls Exp $
*/ */
#include "dvbdevice.h" #include "dvbdevice.h"
@ -253,12 +253,15 @@ bool cDvbTransponderParameters::Parse(const char *s)
// --- cDvbTuner ------------------------------------------------------------- // --- cDvbTuner -------------------------------------------------------------
#define TUNER_POLL_TIMEOUT 10 // ms
class cDvbTuner : public cThread { class cDvbTuner : public cThread {
private: private:
enum eTunerStatus { tsIdle, tsSet, tsTuned, tsLocked }; enum eTunerStatus { tsIdle, tsSet, tsTuned, tsLocked };
int device; int device;
int fd_frontend; int fd_frontend;
int adapter, frontend; int adapter, frontend;
uint32_t subsystemId;
int tuneTimeout; int tuneTimeout;
int lockTimeout; int lockTimeout;
time_t lastTimeoutReport; time_t lastTimeoutReport;
@ -269,16 +272,20 @@ private:
cMutex mutex; cMutex mutex;
cCondVar locked; cCondVar locked;
cCondVar newSet; cCondVar newSet;
bool GetFrontendStatus(fe_status_t &Status, int TimeoutMs = 0); void ClearEventQueue(void) const;
bool GetFrontendStatus(fe_status_t &Status) const;
bool SetFrontend(void); bool SetFrontend(void);
virtual void Action(void); virtual void Action(void);
public: public:
cDvbTuner(int Device, int Fd_Frontend, int Adapter, int Frontend, fe_delivery_system FrontendType); cDvbTuner(int Device, int Fd_Frontend, int Adapter, int Frontend, fe_delivery_system FrontendType);
virtual ~cDvbTuner(); virtual ~cDvbTuner();
const cChannel *GetTransponder(void) const { return &channel; } const cChannel *GetTransponder(void) const { return &channel; }
uint32_t SubsystemId(void) const { return subsystemId; }
bool IsTunedTo(const cChannel *Channel) const; bool IsTunedTo(const cChannel *Channel) const;
void Set(const cChannel *Channel); void Set(const cChannel *Channel);
bool Locked(int TimeoutMs = 0); bool Locked(int TimeoutMs = 0);
int GetSignalStrength(void) const;
int GetSignalQuality(void) const;
}; };
cDvbTuner::cDvbTuner(int Device, int Fd_Frontend, int Adapter, int Frontend, fe_delivery_system FrontendType) cDvbTuner::cDvbTuner(int Device, int Fd_Frontend, int Adapter, int Frontend, fe_delivery_system FrontendType)
@ -288,6 +295,7 @@ cDvbTuner::cDvbTuner(int Device, int Fd_Frontend, int Adapter, int Frontend, fe_
adapter = Adapter; adapter = Adapter;
frontend = Frontend; frontend = Frontend;
frontendType = FrontendType; frontendType = FrontendType;
subsystemId = cDvbDeviceProbe::GetSubsystemId(adapter, frontend);
tuneTimeout = 0; tuneTimeout = 0;
lockTimeout = 0; lockTimeout = 0;
lastTimeoutReport = 0; lastTimeoutReport = 0;
@ -339,16 +347,19 @@ bool cDvbTuner::Locked(int TimeoutMs)
return tunerStatus >= tsLocked; return tunerStatus >= tsLocked;
} }
bool cDvbTuner::GetFrontendStatus(fe_status_t &Status, int TimeoutMs) void cDvbTuner::ClearEventQueue(void) const
{ {
if (TimeoutMs) { cPoller Poller(fd_frontend);
cPoller Poller(fd_frontend); if (Poller.Poll(TUNER_POLL_TIMEOUT)) {
if (Poller.Poll(TimeoutMs)) { dvb_frontend_event Event;
dvb_frontend_event Event; while (ioctl(fd_frontend, FE_GET_EVENT, &Event) == 0)
while (ioctl(fd_frontend, FE_GET_EVENT, &Event) == 0) ; // just to clear the event queue - we'll read the actual status below
; // just to clear the event queue - we'll read the actual status below
}
} }
}
bool cDvbTuner::GetFrontendStatus(fe_status_t &Status) const
{
ClearEventQueue();
while (1) { while (1) {
if (ioctl(fd_frontend, FE_READ_STATUS, &Status) != -1) if (ioctl(fd_frontend, FE_READ_STATUS, &Status) != -1)
return true; return true;
@ -358,6 +369,112 @@ bool cDvbTuner::GetFrontendStatus(fe_status_t &Status, int TimeoutMs)
return false; return false;
} }
//#define DEBUG_SIGNALSTRENGTH
//#define DEBUG_SIGNALQUALITY
int cDvbTuner::GetSignalStrength(void) const
{
ClearEventQueue();
uint16_t Signal;
while (1) {
if (ioctl(fd_frontend, FE_READ_SIGNAL_STRENGTH, &Signal) != -1)
break;
if (errno != EINTR)
return -1;
}
uint16_t MaxSignal = 0xFFFF; // Let's assume the default is using the entire range.
// Use the subsystemId to identify individual devices in case they need
// special treatment to map their Signal value into the range 0...0xFFFF.
switch (subsystemId) {
case 0x13C21019: MaxSignal = 670; break; // TT-budget S2-3200 (DVB-S/DVB-S2)
}
int s = int(Signal) * 100 / MaxSignal;
if (s > 100)
s = 100;
#ifdef DEBUG_SIGNALSTRENGTH
fprintf(stderr, "FE %d/%d: %08X S = %04X %04X %3d%%\n", adapter, frontend, subsystemId, MaxSignal, Signal, s);
#endif
return s;
}
#define LOCK_THRESHOLD 5 // indicates that all 5 FE_HAS_* flags are set
int cDvbTuner::GetSignalQuality(void) const
{
fe_status_t Status;
if (GetFrontendStatus(Status)) {
// Actually one would expect these checks to be done from FE_HAS_SIGNAL to FE_HAS_LOCK, but some drivers (like the stb0899) are broken, so FE_HAS_LOCK is the only one that (hopefully) is generally reliable...
if ((Status & FE_HAS_LOCK) == 0) {
if ((Status & FE_HAS_SIGNAL) == 0)
return 0;
if ((Status & FE_HAS_CARRIER) == 0)
return 1;
if ((Status & FE_HAS_VITERBI) == 0)
return 2;
if ((Status & FE_HAS_SYNC) == 0)
return 3;
return 4;
}
bool HasSnr = true;
uint16_t Snr;
while (1) {
if (ioctl(fd_frontend, FE_READ_SNR, &Snr) != -1)
break;
if (errno == EOPNOTSUPP) {
Snr = 0xFFFF;
HasSnr = false;
break;
}
if (errno != EINTR)
return -1;
}
bool HasBer = true;
uint32_t Ber;
while (1) {
if (ioctl(fd_frontend, FE_READ_BER, &Ber) != -1)
break;
if (errno == EOPNOTSUPP) {
Ber = 0;
HasBer = false;
break;
}
if (errno != EINTR)
return -1;
}
bool HasUnc = true;
uint32_t Unc;
while (1) {
if (ioctl(fd_frontend, FE_READ_UNCORRECTED_BLOCKS, &Unc) != -1)
break;
if (errno == EOPNOTSUPP) {
Unc = 0;
HasUnc = false;
break;
}
if (errno != EINTR)
return -1;
}
uint16_t MaxSnr = 0xFFFF; // Let's assume the default is using the entire range.
// Use the subsystemId to identify individual devices in case they need
// special treatment to map their Snr value into the range 0...0xFFFF.
switch (subsystemId) {
case 0x13C21019: MaxSnr = 200; break; // TT-budget S2-3200 (DVB-S/DVB-S2)
}
int a = int(Snr) * 100 / MaxSnr;
int b = 100 - (Unc * 10 + (Ber / 256) * 5);
if (b < 0)
b = 0;
int q = LOCK_THRESHOLD + a * b * (100 - LOCK_THRESHOLD) / 100 / 100;
if (q > 100)
q = 100;
#ifdef DEBUG_SIGNALQUALITY
fprintf(stderr, "FE %d/%d: %08X Q = %04X %04X %5d %5d %3d%%\n", adapter, frontend, subsystemId, MaxSnr, Snr, HasBer ? int(Ber) : -1, HasUnc ? int(Unc) : -1, q);
#endif
return q;
}
return -1;
}
static unsigned int FrequencyToHz(unsigned int f) static unsigned int FrequencyToHz(unsigned int f)
{ {
while (f && f < 1000000) while (f && f < 1000000)
@ -392,11 +509,11 @@ bool cDvbTuner::SetFrontend(void)
if (frontendType == SYS_DVBS || frontendType == SYS_DVBS2) { if (frontendType == SYS_DVBS || frontendType == SYS_DVBS2) {
unsigned int frequency = channel.Frequency(); unsigned int frequency = channel.Frequency();
if (Setup.DiSEqC) { if (Setup.DiSEqC) {
cDiseqc *diseqc = Diseqcs.Get(device, channel.Source(), channel.Frequency(), dtp.Polarization()); const cDiseqc *diseqc = Diseqcs.Get(device, channel.Source(), channel.Frequency(), dtp.Polarization());
if (diseqc) { if (diseqc) {
if (diseqc->Commands() && (!diseqcCommands || strcmp(diseqcCommands, diseqc->Commands()) != 0)) { if (diseqc->Commands() && (!diseqcCommands || strcmp(diseqcCommands, diseqc->Commands()) != 0)) {
cDiseqc::eDiseqcActions da; cDiseqc::eDiseqcActions da;
for (char *CurrentAction = NULL; (da = diseqc->Execute(&CurrentAction)) != cDiseqc::daNone; ) { for (const char *CurrentAction = NULL; (da = diseqc->Execute(&CurrentAction)) != cDiseqc::daNone; ) {
switch (da) { switch (da) {
case cDiseqc::daNone: break; case cDiseqc::daNone: break;
case cDiseqc::daToneOff: CHECK(ioctl(fd_frontend, FE_SET_TONE, SEC_TONE_OFF)); break; case cDiseqc::daToneOff: CHECK(ioctl(fd_frontend, FE_SET_TONE, SEC_TONE_OFF)); break;
@ -407,7 +524,7 @@ bool cDvbTuner::SetFrontend(void)
case cDiseqc::daMiniB: CHECK(ioctl(fd_frontend, FE_DISEQC_SEND_BURST, SEC_MINI_B)); break; case cDiseqc::daMiniB: CHECK(ioctl(fd_frontend, FE_DISEQC_SEND_BURST, SEC_MINI_B)); break;
case cDiseqc::daCodes: { case cDiseqc::daCodes: {
int n = 0; int n = 0;
uchar *codes = diseqc->Codes(n); const uchar *codes = diseqc->Codes(n);
if (codes) { if (codes) {
struct dvb_diseqc_master_cmd cmd; struct dvb_diseqc_master_cmd cmd;
cmd.msg_len = min(n, int(sizeof(cmd.msg))); cmd.msg_len = min(n, int(sizeof(cmd.msg)));
@ -504,9 +621,9 @@ bool cDvbTuner::SetFrontend(void)
SETCMD(DTV_FREQUENCY, FrequencyToHz(channel.Frequency())); SETCMD(DTV_FREQUENCY, FrequencyToHz(channel.Frequency()));
SETCMD(DTV_INVERSION, dtp.Inversion()); SETCMD(DTV_INVERSION, dtp.Inversion());
SETCMD(DTV_MODULATION, dtp.Modulation()); SETCMD(DTV_MODULATION, dtp.Modulation());
tuneTimeout = ATSC_TUNE_TIMEOUT; tuneTimeout = ATSC_TUNE_TIMEOUT;
lockTimeout = ATSC_LOCK_TIMEOUT; lockTimeout = ATSC_LOCK_TIMEOUT;
} }
else { else {
esyslog("ERROR: attempt to set channel with unknown DVB frontend type"); esyslog("ERROR: attempt to set channel with unknown DVB frontend type");
@ -527,7 +644,7 @@ void cDvbTuner::Action(void)
fe_status_t Status = (fe_status_t)0; fe_status_t Status = (fe_status_t)0;
while (Running()) { while (Running()) {
fe_status_t NewStatus; fe_status_t NewStatus;
if (GetFrontendStatus(NewStatus, 10)) if (GetFrontendStatus(NewStatus))
Status = NewStatus; Status = NewStatus;
cMutexLock MutexLock(&mutex); cMutexLock MutexLock(&mutex);
switch (tunerStatus) { switch (tunerStatus) {
@ -936,7 +1053,7 @@ bool cDvbDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool *Ne
bool hasPriority = Priority < 0 || Priority > this->Priority(); bool hasPriority = Priority < 0 || Priority > this->Priority();
bool needsDetachReceivers = false; bool needsDetachReceivers = false;
if (ProvidesTransponder(Channel)) { if (dvbTuner && ProvidesTransponder(Channel)) {
result = hasPriority; result = hasPriority;
if (Priority >= 0 && Receiving(true)) { if (Priority >= 0 && Receiving(true)) {
if (dvbTuner->IsTunedTo(Channel)) { if (dvbTuner->IsTunedTo(Channel)) {
@ -969,19 +1086,30 @@ int cDvbDevice::NumProvidedSystems(void) const
return numProvidedSystems; return numProvidedSystems;
} }
int cDvbDevice::SignalStrength(void) const
{
return dvbTuner ? dvbTuner->GetSignalStrength() : -1;
}
int cDvbDevice::SignalQuality(void) const
{
return dvbTuner ? dvbTuner->GetSignalQuality() : -1;
}
const cChannel *cDvbDevice::GetCurrentlyTunedTransponder(void) const const cChannel *cDvbDevice::GetCurrentlyTunedTransponder(void) const
{ {
return dvbTuner->GetTransponder(); return dvbTuner ? dvbTuner->GetTransponder() : NULL;
} }
bool cDvbDevice::IsTunedToTransponder(const cChannel *Channel) bool cDvbDevice::IsTunedToTransponder(const cChannel *Channel)
{ {
return dvbTuner->IsTunedTo(Channel); return dvbTuner ? dvbTuner->IsTunedTo(Channel) : false;
} }
bool cDvbDevice::SetChannelDevice(const cChannel *Channel, bool LiveView) bool cDvbDevice::SetChannelDevice(const cChannel *Channel, bool LiveView)
{ {
dvbTuner->Set(Channel); if (dvbTuner)
dvbTuner->Set(Channel);
return true; return true;
} }
@ -1036,3 +1164,24 @@ cDvbDeviceProbe::~cDvbDeviceProbe()
{ {
DvbDeviceProbes.Del(this, false); DvbDeviceProbes.Del(this, false);
} }
uint32_t cDvbDeviceProbe::GetSubsystemId(int Adapter, int Frontend)
{
cString FileName;
cReadLine ReadLine;
FILE *f = NULL;
uint32_t SubsystemId = 0;
FileName = cString::sprintf("/sys/class/dvb/dvb%d.frontend%d/device/subsystem_vendor", Adapter, Frontend);
if ((f = fopen(FileName, "r")) != NULL) {
if (char *s = ReadLine.Read(f))
SubsystemId = strtoul(s, NULL, 0) << 16;
fclose(f);
}
FileName = cString::sprintf("/sys/class/dvb/dvb%d.frontend%d/device/subsystem_device", Adapter, Frontend);
if ((f = fopen(FileName, "r")) != NULL) {
if (char *s = ReadLine.Read(f))
SubsystemId |= strtoul(s, NULL, 0);
fclose(f);
}
return SubsystemId;
}

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: dvbdevice.h 2.14 2010/04/11 10:29:37 kls Exp $ * $Id: dvbdevice.h 2.15 2011/06/02 13:20:05 kls Exp $
*/ */
#ifndef __DVBDEVICE_H #ifndef __DVBDEVICE_H
@ -141,6 +141,8 @@ public:
virtual bool ProvidesTransponder(const cChannel *Channel) const; virtual bool ProvidesTransponder(const cChannel *Channel) const;
virtual bool ProvidesChannel(const cChannel *Channel, int Priority = -1, bool *NeedsDetachReceivers = NULL) const; virtual bool ProvidesChannel(const cChannel *Channel, int Priority = -1, bool *NeedsDetachReceivers = NULL) const;
virtual int NumProvidedSystems(void) const; virtual int NumProvidedSystems(void) const;
virtual int SignalStrength(void) const;
virtual int SignalQuality(void) const;
virtual const cChannel *GetCurrentlyTunedTransponder(void) const; virtual const cChannel *GetCurrentlyTunedTransponder(void) const;
virtual bool IsTunedToTransponder(const cChannel *Channel); virtual bool IsTunedToTransponder(const cChannel *Channel);
protected: protected:
@ -196,6 +198,7 @@ class cDvbDeviceProbe : public cListObject {
public: public:
cDvbDeviceProbe(void); cDvbDeviceProbe(void);
virtual ~cDvbDeviceProbe(); virtual ~cDvbDeviceProbe();
static uint32_t GetSubsystemId(int Adapter, int Frontend);
virtual bool Probe(int Adapter, int Frontend) = 0; virtual bool Probe(int Adapter, int Frontend) = 0;
///< Probes for a DVB device at the given Adapter and creates the appropriate ///< Probes for a DVB device at the given Adapter and creates the appropriate
///< object derived from cDvbDevice if applicable. ///< object derived from cDvbDevice if applicable.

View File

@ -6,7 +6,7 @@
* the Free Software Foundation; either version 2 of the License, or * * the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. * * (at your option) any later version. *
* * * *
* $Id: descriptor.c 2.1 2010/11/01 15:24:31 kls Exp $ * $Id: descriptor.c 2.2 2011/06/15 21:26:00 kls Exp $
* * * *
***************************************************************************/ ***************************************************************************/
@ -643,6 +643,33 @@ void ServiceIdentifierDescriptor::Parse() {
textualServiceIdentifier.setData(data+sizeof(descr_service_identifier), getLength()-sizeof(descr_service_identifier)); textualServiceIdentifier.setData(data+sizeof(descr_service_identifier), getLength()-sizeof(descr_service_identifier));
} }
void ContentIdentifierDescriptor::Parse() {
identifierLoop.setData(data+sizeof(descr_content_identifier), getLength()-sizeof(descr_content_identifier));
}
void ContentIdentifierDescriptor::Identifier::Parse() {
int offset=0;
data.setPointerAndOffset<const content_identifier_entry>(s, offset);
if (s->crid_location == 0) {
identifier.setData(data+(offset-1), s->crid_length);
}
else {
identifier.setData(data+(offset-1), 2);
}
}
int ContentIdentifierDescriptor::Identifier::getCridType() const {
return s->crid_type;
}
int ContentIdentifierDescriptor::Identifier::getCridLocation() const {
return s->crid_location;
}
void DefaultAuthorityDescriptor::Parse() {
DefaultAuthority.setData(data+sizeof(descr_default_authority), getLength()-sizeof(descr_default_authority));
}
void MultilingualNameDescriptor::Parse() { void MultilingualNameDescriptor::Parse() {
nameLoop.setData(data+sizeof(descr_multilingual_network_name), getLength()-sizeof(descr_multilingual_network_name)); nameLoop.setData(data+sizeof(descr_multilingual_network_name), getLength()-sizeof(descr_multilingual_network_name));
} }

View File

@ -6,7 +6,7 @@
* the Free Software Foundation; either version 2 of the License, or * * the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. * * (at your option) any later version. *
* * * *
* $Id: descriptor.h 2.1 2010/11/01 15:24:32 kls Exp $ * $Id: descriptor.h 2.2 2011/06/15 21:26:00 kls Exp $
* * * *
***************************************************************************/ ***************************************************************************/
@ -361,6 +361,31 @@ protected:
virtual void Parse(); virtual void Parse();
}; };
class ContentIdentifierDescriptor : public Descriptor {
public:
class Identifier : public LoopElement {
public:
String identifier;
int getCridType() const;
int getCridLocation() const;
virtual int getLength() { return sizeof(content_identifier_entry)+identifier.getLength(); }
protected:
virtual void Parse();
private:
const content_identifier_entry *s;
};
StructureLoop<Identifier> identifierLoop;
protected:
virtual void Parse();
};
class DefaultAuthorityDescriptor : public Descriptor {
public:
String DefaultAuthority; //ID
protected:
virtual void Parse();
};
//abstract base class //abstract base class
class MultilingualNameDescriptor : public Descriptor { class MultilingualNameDescriptor : public Descriptor {
public: public:

View File

@ -10,7 +10,7 @@
* the Free Software Foundation; either version 2 of the License, or * * the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. * * (at your option) any later version. *
* * * *
* $Id: headers.h 2.1 2010/11/01 15:24:32 kls Exp $ * $Id: headers.h 2.2 2011/06/15 21:26:00 kls Exp $
* * * *
***************************************************************************/ ***************************************************************************/
@ -1680,6 +1680,24 @@ struct descr_content_identifier {
u_char descriptor_length :8; u_char descriptor_length :8;
}; };
struct content_identifier_entry {
#if BYTE_ORDER == BIG_ENDIAN
u_char crid_type :6;
u_char crid_location :2;
#else
u_char crid_location :2;
u_char crid_type :6;
#endif
union {
u_char crid_length :8;
u_char crid_ref_hi :8;
};
union {
u_char crid_byte :8;
u_char crid_ref_lo :8;
};
};
/* 0x77 time_slice_fec_identifier_descriptor (ETSI EN 301 192) */ /* 0x77 time_slice_fec_identifier_descriptor (ETSI EN 301 192) */
struct descr_time_slice_fec_identifier { struct descr_time_slice_fec_identifier {

View File

@ -6,7 +6,7 @@
* the Free Software Foundation; either version 2 of the License, or * * the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. * * (at your option) any later version. *
* * * *
* $Id: si.c 2.3 2010/11/01 15:24:32 kls Exp $ * $Id: si.c 2.4 2011/06/15 21:26:00 kls Exp $
* * * *
***************************************************************************/ ***************************************************************************/
@ -609,6 +609,12 @@ Descriptor *Descriptor::getDescriptor(CharArray da, DescriptorTagDomain domain,
case RegistrationDescriptorTag: case RegistrationDescriptorTag:
d=new RegistrationDescriptor(); d=new RegistrationDescriptor();
break; break;
case ContentIdentifierDescriptorTag:
d=new ContentIdentifierDescriptor();
break;
case DefaultAuthorityDescriptorTag:
d=new DefaultAuthorityDescriptor();
break;
//note that it is no problem to implement one //note that it is no problem to implement one
//of the unimplemented descriptors. //of the unimplemented descriptors.
@ -650,10 +656,8 @@ Descriptor *Descriptor::getDescriptor(CharArray da, DescriptorTagDomain domain,
case TransportStreamDescriptorTag: case TransportStreamDescriptorTag:
//defined in ETSI EN 300 468 v 1.7.1 //defined in ETSI EN 300 468 v 1.7.1
case DefaultAuthorityDescriptorTag:
case RelatedContentDescriptorTag: case RelatedContentDescriptorTag:
case TVAIdDescriptorTag: case TVAIdDescriptorTag:
case ContentIdentifierDescriptorTag:
case TimeSliceFecIdentifierDescriptorTag: case TimeSliceFecIdentifierDescriptorTag:
case ECMRepetitionRateDescriptorTag: case ECMRepetitionRateDescriptorTag:
case EnhancedAC3DescriptorTag: case EnhancedAC3DescriptorTag:

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: menuitems.c 2.8 2010/12/12 13:41:09 kls Exp $ * $Id: menuitems.c 2.9 2011/06/13 14:48:41 kls Exp $
*/ */
#include "menuitems.h" #include "menuitems.h"
@ -713,7 +713,19 @@ void cMenuEditStraItem::Set(void)
cMenuEditChanItem::cMenuEditChanItem(const char *Name, int *Value, const char *NoneString) cMenuEditChanItem::cMenuEditChanItem(const char *Name, int *Value, const char *NoneString)
:cMenuEditIntItem(Name, Value, NoneString ? 0 : 1, Channels.MaxNumber()) :cMenuEditIntItem(Name, Value, NoneString ? 0 : 1, Channels.MaxNumber())
{ {
channelID = NULL;
noneString = NoneString; noneString = NoneString;
dummyValue = 0;
Set();
}
cMenuEditChanItem::cMenuEditChanItem(const char *Name, cString *ChannelID, const char *NoneString)
:cMenuEditIntItem(Name, &dummyValue, NoneString ? 0 : 1, Channels.MaxNumber())
{
channelID = ChannelID;
noneString = NoneString;
cChannel *channel = Channels.GetByChannelID(tChannelID::FromString(*ChannelID));
dummyValue = channel ? channel->Number() : 0;
Set(); Set();
} }
@ -744,6 +756,8 @@ eOSState cMenuEditChanItem::ProcessKey(eKeys Key)
*value = channel->Number(); *value = channel->Number();
else if (delta < 0 && noneString) else if (delta < 0 && noneString)
*value = 0; *value = 0;
if (channelID)
*channelID = channel ? channel->GetChannelID().ToString() : "";
Set(); Set();
} }
break; break;

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: menuitems.h 2.4 2010/06/06 10:32:38 kls Exp $ * $Id: menuitems.h 2.5 2011/06/13 13:46:03 kls Exp $
*/ */
#ifndef __MENUITEMS_H #ifndef __MENUITEMS_H
@ -133,9 +133,12 @@ public:
class cMenuEditChanItem : public cMenuEditIntItem { class cMenuEditChanItem : public cMenuEditIntItem {
protected: protected:
const char *noneString; const char *noneString;
int dummyValue;
cString *channelID;
virtual void Set(void); virtual void Set(void);
public: public:
cMenuEditChanItem(const char *Name, int *Value, const char *NoneString = NULL); cMenuEditChanItem(const char *Name, int *Value, const char *NoneString = NULL);
cMenuEditChanItem(const char *Name, cString *ChannelID, const char *NoneString = NULL);
virtual eOSState ProcessKey(eKeys Key); virtual eOSState ProcessKey(eKeys Key);
}; };

5
osd.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: osd.c 2.21 2011/04/17 14:25:07 kls Exp $ * $Id: osd.c 2.22 2011/06/02 12:00:17 kls Exp $
*/ */
#include "osd.h" #include "osd.h"
@ -594,9 +594,10 @@ void cBitmap::DrawRectangle(int x1, int y1, int x2, int y2, tColor Color)
x2 = min(x2, width - 1); x2 = min(x2, width - 1);
y2 = min(y2, height - 1); y2 = min(y2, height - 1);
tIndex c = Index(Color); tIndex c = Index(Color);
for (int y = y1; y <= y2; y++) for (int y = y1; y <= y2; y++) {
for (int x = x1; x <= x2; x++) for (int x = x1; x <= x2; x++)
SetIndex(x, y, c); SetIndex(x, y, c);
}
} }
} }

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.7.0\n" "Project-Id-Version: VDR 1.7.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-12-24 12:35+0100\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2008-10-16 11:16-0400\n" "PO-Revision-Date: 2008-10-16 11:16-0400\n"
"Last-Translator: Osama Alrawab <alrawab@hotmail.com>\n" "Last-Translator: Osama Alrawab <alrawab@hotmail.com>\n"
"Language-Team: Arabic <ar@li.org>\n" "Language-Team: Arabic <ar@li.org>\n"
"Language: ar\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: ar\n"
"X-Poedit-Bookmarks: -1,-1,-1,-1,-1,-1,-1,-1,1249,-1\n" "X-Poedit-Bookmarks: -1,-1,-1,-1,-1,-1,-1,-1,1249,-1\n"
"X-Poedit-Language: Arabic\n" "X-Poedit-Language: Arabic\n"
"X-Poedit-Country: LIBYA\n" "X-Poedit-Country: LIBYA\n"

View File

@ -10,14 +10,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:26+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2008-03-02 19:02+0100\n" "PO-Revision-Date: 2008-03-02 19:02+0100\n"
"Last-Translator: Luca Olivetti <luca@ventoso.org>\n" "Last-Translator: Luca Olivetti <luca@ventoso.org>\n"
"Language-Team: Catalan <vdr@linuxtv.org>\n" "Language-Team: Catalan <vdr@linuxtv.org>\n"
"Language: ca\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: ca\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"
msgstr "*** Canal incorrecte ***" msgstr "*** Canal incorrecte ***"

View File

@ -9,14 +9,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.7.14\n" "Project-Id-Version: VDR 1.7.14\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:26+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2010-05-06 11:00+0200\n" "PO-Revision-Date: 2010-05-06 11:00+0200\n"
"Last-Translator: Radek Šťastný <dedkus@gmail.com>\n" "Last-Translator: Radek Šťastný <dedkus@gmail.com>\n"
"Language-Team: Czech <vdr@linuxtv.org>\n" "Language-Team: Czech <vdr@linuxtv.org>\n"
"Language: cs\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: cs\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"
msgstr "*** Neplatný kanál ***" msgstr "*** Neplatný kanál ***"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:26+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n" "PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n" "Last-Translator: Mogens Elneff <mogens@elneff.dk>\n"
"Language-Team: Danish <vdr@linuxtv.org>\n" "Language-Team: Danish <vdr@linuxtv.org>\n"
"Language: da\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n" "Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: da\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"
msgstr "*** Ugyldig kanal! ***" msgstr "*** Ugyldig kanal! ***"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:26+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2010-01-16 16:46+0100\n" "PO-Revision-Date: 2010-01-16 16:46+0100\n"
"Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n" "Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n"
"Language-Team: German <vdr@linuxtv.org>\n" "Language-Team: German <vdr@linuxtv.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n" "Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: de\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"
msgstr "*** Ungültiger Kanal ***" msgstr "*** Ungültiger Kanal ***"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:26+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n" "PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n" "Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n"
"Language-Team: Greek <vdr@linuxtv.org>\n" "Language-Team: Greek <vdr@linuxtv.org>\n"
"Language: el\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-7\n" "Content-Type: text/plain; charset=ISO-8859-7\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: el\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"
msgstr "*** Áêõñï êáíÜëç ***" msgstr "*** Áêõñï êáíÜëç ***"

View File

@ -8,14 +8,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:26+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2008-03-02 19:02+0100\n" "PO-Revision-Date: 2008-03-02 19:02+0100\n"
"Last-Translator: Luca Olivetti <luca@ventoso.org>\n" "Last-Translator: Luca Olivetti <luca@ventoso.org>\n"
"Language-Team: Spanish <vdr@linuxtv.org>\n" "Language-Team: Spanish <vdr@linuxtv.org>\n"
"Language: es\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n" "Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: es\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"
msgstr "*** Canal no válido ***" msgstr "*** Canal no válido ***"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:26+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n" "PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Arthur Konovalov <artlov@gmail.com>\n" "Last-Translator: Arthur Konovalov <artlov@gmail.com>\n"
"Language-Team: Estonian <vdr@linuxtv.org>\n" "Language-Team: Estonian <vdr@linuxtv.org>\n"
"Language: et\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-13\n" "Content-Type: text/plain; charset=ISO-8859-13\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: et\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"
msgstr "*** Vigane kanal ***" msgstr "*** Vigane kanal ***"

View File

@ -10,14 +10,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:26+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2007-08-15 15:52+0200\n" "PO-Revision-Date: 2007-08-15 15:52+0200\n"
"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n" "Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
"Language-Team: Finnish <vdr@linuxtv.org>\n" "Language-Team: Finnish <vdr@linuxtv.org>\n"
"Language: fi\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: fi\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"
msgstr "*** Virheellinen kanavavalinta ***" msgstr "*** Virheellinen kanavavalinta ***"

View File

@ -13,14 +13,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:26+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2008-02-27 18:14+0100\n" "PO-Revision-Date: 2008-02-27 18:14+0100\n"
"Last-Translator: Jean-Claude Repetto <jc@repetto.org>\n" "Last-Translator: Jean-Claude Repetto <jc@repetto.org>\n"
"Language-Team: French <vdr@linuxtv.org>\n" "Language-Team: French <vdr@linuxtv.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: fr\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"
msgstr "*** Chaîne invalide ! ***" msgstr "*** Chaîne invalide ! ***"

View File

@ -9,14 +9,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:26+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2008-03-17 19:00+0100\n" "PO-Revision-Date: 2008-03-17 19:00+0100\n"
"Last-Translator: Adrian Caval <anrxc@sysphere.org>\n" "Last-Translator: Adrian Caval <anrxc@sysphere.org>\n"
"Language-Team: Croatian <vdr@linuxtv.org>\n" "Language-Team: Croatian <vdr@linuxtv.org>\n"
"Language: hr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: hr\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"
msgstr "*** Neispravan Program ***" msgstr "*** Neispravan Program ***"

View File

@ -10,14 +10,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:26+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2007-12-01 21:42+0200\n" "PO-Revision-Date: 2007-12-01 21:42+0200\n"
"Last-Translator: István Füley <ifuley@tigercomp.ro>\n" "Last-Translator: István Füley <ifuley@tigercomp.ro>\n"
"Language-Team: Hungarian <vdr@linuxtv.org>\n" "Language-Team: Hungarian <vdr@linuxtv.org>\n"
"Language: hu\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: hu\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"
msgstr "*** Érvénytelen csatorna ***" msgstr "*** Érvénytelen csatorna ***"

View File

@ -11,14 +11,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:26+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2010-06-13 00:30+0100\n" "PO-Revision-Date: 2010-06-13 00:30+0100\n"
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n" "Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: Italian <vdr@linuxtv.org>\n" "Language-Team: Italian <vdr@linuxtv.org>\n"
"Language: it\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: it\n"
"X-Poedit-Language: Italian\n" "X-Poedit-Language: Italian\n"
"X-Poedit-Country: ITALY\n" "X-Poedit-Country: ITALY\n"
"X-Poedit-SourceCharset: utf-8\n" "X-Poedit-SourceCharset: utf-8\n"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.7.16\n" "Project-Id-Version: VDR 1.7.16\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-06-06 12:52+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2010-10-30 11:55+0200\n" "PO-Revision-Date: 2010-10-30 11:55+0200\n"
"Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n" "Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n"
"Language-Team: Lithuanian <vdr@linuxtv.org>\n" "Language-Team: Lithuanian <vdr@linuxtv.org>\n"
"Language: lt\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: lt\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"
msgstr "*** Blogi kanalo nustatymai ***" msgstr "*** Blogi kanalo nustatymai ***"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR-1.7.14\n" "Project-Id-Version: VDR-1.7.14\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:26+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2010-03-11 00:54+0100\n" "PO-Revision-Date: 2010-03-11 00:54+0100\n"
"Last-Translator: Dimitar Petrovski <dimeptr@gmail.com>\n" "Last-Translator: Dimitar Petrovski <dimeptr@gmail.com>\n"
"Language-Team: Macedonian <en@li.org>\n" "Language-Team: Macedonian <en@li.org>\n"
"Language: mk\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: mk\n"
"X-Generator: KBabel 1.11.4\n" "X-Generator: KBabel 1.11.4\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"

View File

@ -11,14 +11,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:26+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2008-02-26 17:20+0100\n" "PO-Revision-Date: 2008-02-26 17:20+0100\n"
"Last-Translator: Johan Schuring <johan.schuring@vetteblei.nl>\n" "Last-Translator: Johan Schuring <johan.schuring@vetteblei.nl>\n"
"Language-Team: Dutch <vdr@linuxtv.org>\n" "Language-Team: Dutch <vdr@linuxtv.org>\n"
"Language: nl\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n" "Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: nl\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"
msgstr "*** Ongeldig kanaal ***" msgstr "*** Ongeldig kanaal ***"

View File

@ -8,14 +8,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:26+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n" "PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Truls Slevigen <truls@slevigen.no>\n" "Last-Translator: Truls Slevigen <truls@slevigen.no>\n"
"Language-Team: Norwegian Nynorsk <vdr@linuxtv.org>\n" "Language-Team: Norwegian Nynorsk <vdr@linuxtv.org>\n"
"Language: nn\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: nn\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"
msgstr "*** Ugyldig Kanal! ***" msgstr "*** Ugyldig Kanal! ***"

View File

@ -8,14 +8,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:26+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2008-03-09 12:59+0100\n" "PO-Revision-Date: 2008-03-09 12:59+0100\n"
"Last-Translator: Michael Rakowski <mrak@gmx.de>\n" "Last-Translator: Michael Rakowski <mrak@gmx.de>\n"
"Language-Team: Polish <vdr@linuxtv.org>\n" "Language-Team: Polish <vdr@linuxtv.org>\n"
"Language: pl\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: pl\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"
msgstr "*** Niepoprawny kana³ ***" msgstr "*** Niepoprawny kana³ ***"

View File

@ -8,14 +8,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.7.15\n" "Project-Id-Version: VDR 1.7.15\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:26+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2010-03-28 22:49+0100\n" "PO-Revision-Date: 2010-03-28 22:49+0100\n"
"Last-Translator: Cris Silva <hudokkow@gmail.com>\n" "Last-Translator: Cris Silva <hudokkow@gmail.com>\n"
"Language-Team: Portuguese <vdr@linuxtv.org>\n" "Language-Team: Portuguese <vdr@linuxtv.org>\n"
"Language: pt\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: pt\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"
msgstr "*** Canal inválido ***" msgstr "*** Canal inválido ***"

View File

@ -8,14 +8,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.7.12\n" "Project-Id-Version: VDR 1.7.12\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:26+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2011-03-10 23:52+0100\n" "PO-Revision-Date: 2011-03-10 23:52+0100\n"
"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n" "Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n"
"Language-Team: Romanian <vdr@linuxtv.org>\n" "Language-Team: Romanian <vdr@linuxtv.org>\n"
"Language: ro\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: ro\n"
"X-Poedit-Language: Romanian\n" "X-Poedit-Language: Romanian\n"
"X-Poedit-Country: ROMANIA\n" "X-Poedit-Country: ROMANIA\n"

View File

@ -8,14 +8,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:26+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2008-12-15 14:37+0100\n" "PO-Revision-Date: 2008-12-15 14:37+0100\n"
"Last-Translator: Oleg Roitburd <oleg@roitburd.de>\n" "Last-Translator: Oleg Roitburd <oleg@roitburd.de>\n"
"Language-Team: Russian <vdr@linuxtv.org>\n" "Language-Team: Russian <vdr@linuxtv.org>\n"
"Language: ru\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-5\n" "Content-Type: text/plain; charset=ISO-8859-5\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: ru\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"
msgstr "*** ½ÕßàÐÒØÛìÝëÙ ÚÐÝÐÛ ***" msgstr "*** ½ÕßàÐÒØÛìÝëÙ ÚÐÝÐÛ ***"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.7.16\n" "Project-Id-Version: VDR 1.7.16\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-06-06 12:52+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2011-02-15 16:29+0100\n" "PO-Revision-Date: 2011-02-15 16:29+0100\n"
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n" "Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
"Language-Team: Slovak <vdr@linuxtv.org>\n" "Language-Team: Slovak <vdr@linuxtv.org>\n"
"Language: sk\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: sk\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"
msgstr "*** Neplatný kanál ***" msgstr "*** Neplatný kanál ***"

View File

@ -8,14 +8,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:26+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2008-02-28 19:44+0100\n" "PO-Revision-Date: 2008-02-28 19:44+0100\n"
"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n" "Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n"
"Language-Team: Slovenian <vdr@linuxtv.org>\n" "Language-Team: Slovenian <vdr@linuxtv.org>\n"
"Language: sl\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: sl\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"
msgstr "*** Neznan kanal ***" msgstr "*** Neznan kanal ***"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.7.1\n" "Project-Id-Version: VDR 1.7.1\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2011-02-20 19:02+0100\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2011-01-09 15:57+0100\n" "PO-Revision-Date: 2011-01-09 15:57+0100\n"
"Last-Translator: Milan Cvijanoviæ <elcom_cvijo@hotmail.com>\n" "Last-Translator: Milan Cvijanoviæ <elcom_cvijo@hotmail.com>\n"
"Language-Team: Serbian <vdr@linuxtv.org>\n" "Language-Team: Serbian <vdr@linuxtv.org>\n"
"Language: sr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: sr\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"
msgstr "*** Neispravan Kanal ***" msgstr "*** Neispravan Kanal ***"

View File

@ -10,14 +10,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:26+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2008-03-12 18:25+0100\n" "PO-Revision-Date: 2008-03-12 18:25+0100\n"
"Last-Translator: Magnus Andersson <svankan@bahnhof.se>\n" "Last-Translator: Magnus Andersson <svankan@bahnhof.se>\n"
"Language-Team: Swedish <vdr@linuxtv.org>\n" "Language-Team: Swedish <vdr@linuxtv.org>\n"
"Language: sv\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: sv\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"
msgstr "*** Felaktig kanal ***" msgstr "*** Felaktig kanal ***"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:26+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2008-02-28 00:33+0100\n" "PO-Revision-Date: 2008-02-28 00:33+0100\n"
"Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n" "Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n"
"Language-Team: Turkish <vdr@linuxtv.org>\n" "Language-Team: Turkish <vdr@linuxtv.org>\n"
"Language: tr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-9\n" "Content-Type: text/plain; charset=ISO-8859-9\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: tr\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"
msgstr "*** Geçersiz kanal ***" msgstr "*** Geçersiz kanal ***"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.7.7\n" "Project-Id-Version: VDR 1.7.7\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-10-24 16:26+0200\n" "POT-Creation-Date: 2011-05-21 14:26+0200\n"
"PO-Revision-Date: 2010-04-25 16:35+0200\n" "PO-Revision-Date: 2010-04-25 16:35+0200\n"
"Last-Translator: Yarema aka Knedlyk <yupadmin@gmail.com>\n" "Last-Translator: Yarema aka Knedlyk <yupadmin@gmail.com>\n"
"Language-Team: Ukrainian <vdr@linuxtv.org>\n" "Language-Team: Ukrainian <vdr@linuxtv.org>\n"
"Language: uk\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: uk\n"
msgid "*** Invalid Channel ***" msgid "*** Invalid Channel ***"
msgstr "*** Неправильний канал ***" msgstr "*** Неправильний канал ***"

Some files were not shown because too many files have changed in this diff Show More