Version 1.5.11

- Fixed checking compatibility mode for old subtitles plugin (thanks to Marco
  Schlüßler).
- Updated the French OSD texts (thanks to Michael Nival).
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- The "Play" key now starts replay of the selected recording in the Recordings
  menu (thanks to Ville Skyttä);
- Improved shutdown handling (thanks to Udo Richter).
- Housekeeping now waits for a while after a replay has ended (thanks to Udo Richter).
- Added more special characters to the list of allowed characters when entering
  strings (thanks to Thomas Günther).
- Added Ukrainian language texts (thanks to Yarema Aka Knedlyk).
- Added a workaround for recovering from wrongfully interpreted "pre 1.3.19 PS1 packets".
- Fixed a possible blocking in replay when subtitles are active.
- Fixed displaying subtitles in live mode.
- Fixed handling CONFDIR (thanks to Rolf Ahrenberg).
- Added some missing 'const' keywords (thanks to Sascha Volkenandt).
- The 'Allowed' parameter in cMenuEditStrItem() is now NULL by default, which results
  in using tr(FileNameChars) (suggested by Thomas Günther).
- Added a missing '.' to the date returned by DayDateTime() (thanks to Lauri Nurmi).
- Improved the 'i18n' target in the Makefile to avoid unnecessary work (thanks to
  Stefan Huelswitt). The 'newplugin' and 'i18n-to-gettext.pl' scripts have been
  changed accordingly. Plugin authors may want to adjust the 'i18n' target
  of their Makefiles.
- Fixed a crash if no fonts are found (thanks to Mario Ivankovits and Clemens
  Kirchgatterer).
- Fixed decoding filename characters in case there are not two hex digits after
  the '#' (reported by Helmut Auer).
This commit is contained in:
Klaus Schmidinger 2007-11-04 18:00:00 +01:00
parent dbf38b7c68
commit 182cd78af0
45 changed files with 1355 additions and 268 deletions

View File

@ -222,6 +222,7 @@ Stefan Huelswitt <huels@iname.com>
for reporting a double fdopen() in cPipe::Open() for reporting a double fdopen() in cPipe::Open()
for suggesting to increase the APIVERSION to allow plugins that relied on the for suggesting to increase the APIVERSION to allow plugins that relied on the
cStatus::MsgSetVolume() bug to react properly cStatus::MsgSetVolume() bug to react properly
for improving the 'i18n' target in the Makefile to avoid unnecessary work
Ulrich Röder <roeder@efr-net.de> Ulrich Röder <roeder@efr-net.de>
for pointing out that there are channels that have a symbol rate higher than 27500 for pointing out that there are channels that have a symbol rate higher than 27500
@ -587,6 +588,8 @@ Helmut Auer <vdr@helmutauer.de>
is a recording going on or about to start, and the user insists in shutting down now is a recording going on or about to start, and the user insists in shutting down now
for suggesting to make the channel entry timeout configurable for suggesting to make the channel entry timeout configurable
for a patch that was used to implement the SVDRP command REMO for a patch that was used to implement the SVDRP command REMO
for reporting a possible crash in decoding filename characters in case there are
not two hex digits after the '#'
Jeremy Hall <jhall@UU.NET> Jeremy Hall <jhall@UU.NET>
for fixing an incomplete initialization of the filter parameters in eit.c for fixing an incomplete initialization of the filter parameters in eit.c
@ -743,6 +746,7 @@ Georg Hitsch <georg@hitsch.at>
Clemens Kirchgatterer <clemens@thf.ath.cx> Clemens Kirchgatterer <clemens@thf.ath.cx>
for suggesting to change source directory name for plugins from 'SRC' to 'src' for suggesting to change source directory name for plugins from 'SRC' to 'src'
for reporting a problem with user defined CFLAGS in libdtv/libvdr/Makefile for reporting a problem with user defined CFLAGS in libdtv/libvdr/Makefile
for suggesting an error log message if no fonts are found
Emil Naepflein <Emil.Naepflein@philosys.de> Emil Naepflein <Emil.Naepflein@philosys.de>
for suggesting to take an active SVDRP connection into account when doing shutdown or for suggesting to take an active SVDRP connection into account when doing shutdown or
@ -889,6 +893,7 @@ Ludwig Nussel <ludwig.nussel@web.de>
for a patch that was used for implementing setting the user id for a patch that was used for implementing setting the user id
for pointing out that the canonical spelling of codesets is with '-' for pointing out that the canonical spelling of codesets is with '-'
for a hint on using _nl_msg_cat_cntr for a hint on using _nl_msg_cat_cntr
for adding some missing 'const' keywords
Thomas Koch <tom@harhar.net> Thomas Koch <tom@harhar.net>
for his support in keeping the Premiere World channels up to date in 'channels.conf' for his support in keeping the Premiere World channels up to date in 'channels.conf'
@ -1028,6 +1033,7 @@ Rolf Ahrenberg <rahrenbe@cc.hut.fi>
the subtitles plugin the subtitles plugin
for implementing cDevice::CloseFilter() for implementing cDevice::CloseFilter()
for some fixes to PLUGINS.html for some fixes to PLUGINS.html
for fixing handling CONFDIR
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
@ -1430,6 +1436,7 @@ Marco Schl
for implementing handling DVB subtitles for implementing handling DVB subtitles
for fixing the description of DeviceSetAvailableTrack() and cReceiver(), and adding for fixing the description of DeviceSetAvailableTrack() and cReceiver(), and adding
an example ~cMyReceiver() in PLUGINS.html (thanks to Marco Schlüßler). an example ~cMyReceiver() in PLUGINS.html (thanks to Marco Schlüßler).
for fixing checking compatibility mode for old subtitles plugin
Jürgen Schmitz <j.schmitz@web.de> Jürgen Schmitz <j.schmitz@web.de>
for reporting a bug in displaying the current channel when switching via the SVDRP for reporting a bug in displaying the current channel when switching via the SVDRP
@ -1535,6 +1542,8 @@ Udo Richter <udo_richter@gmx.de>
for adding a missing error report to cCuttingThread::Action() for adding a missing error report to cCuttingThread::Action()
for reporting a problem in handling reallocated memory in cCharSetConv::Convert() for reporting a problem in handling reallocated memory in cCharSetConv::Convert()
for fixing a new[]/delete mismatch in cMenuEditStrItem::LeaveEditMode() for fixing a new[]/delete mismatch in cMenuEditStrItem::LeaveEditMode()
for improving shutdown handling
for making housekeeping wait for a while after a replay has ended
Sven Kreiensen <svenk@kammer.uni-hannover.de> Sven Kreiensen <svenk@kammer.uni-hannover.de>
for his help in keeping 'channels.conf.terr' up to date for his help in keeping 'channels.conf.terr' up to date
@ -1709,6 +1718,8 @@ Ville Skytt
for suggesting to add the "...or (at your option) any later version" phrase to the for suggesting to add the "...or (at your option) any later version" phrase to the
license information of all plugins, and also the 'newplugin' script license information of all plugins, and also the 'newplugin' script
for fixing the link to the GPL2 at http://www.gnu.org in vdr.c for fixing the link to the GPL2 at http://www.gnu.org in vdr.c
for making the "Play" key start replay of the selected recording in the Recordings
menu
Steffen Beyer <cpunk@reactor.de> Steffen Beyer <cpunk@reactor.de>
for fixing setting the colored button help after deleting a recording in case the next for fixing setting the colored button help after deleting a recording in case the next
@ -1788,6 +1799,10 @@ Thomas G
for removing a duplicate ',' from the ca_ES.po file for removing a duplicate ',' from the ca_ES.po file
for suggesting to add the 'ß' character to the "allowed characters" in the for suggesting to add the 'ß' character to the "allowed characters" in the
de_DE.po file de_DE.po file
for adding more special characters to the list of allowed characters when entering
strings
for suggesting to make the 'Allowed' parameter in cMenuEditStrItem() NULL by default,
which results in using tr(FileNameChars)
David Woodhouse <dwmw2@infradead.org> David Woodhouse <dwmw2@infradead.org>
for his help in replacing the get/put_unaligned() macros from asm/unaligned.h with for his help in replacing the get/put_unaligned() macros from asm/unaligned.h with
@ -2210,3 +2225,15 @@ Elias Luttinen <el@iki.fi>
Torsten Kunkel <vdrml@tkunkel.de> Torsten Kunkel <vdrml@tkunkel.de>
for pointing out that it was not obvious how to initiate internationalization for pointing out that it was not obvious how to initiate internationalization
support for a plugin support for a plugin
Michael Nival <mnival@club-internet.fr>
for translating OSD texts to the French language
Yarema Aka Knedlyk <yupadmin@gmail.com>
for translating OSD texts to the Ukrainian language
Lauri Nurmi <lanurmi@iki.fi>
for adding a missing '.' to the date returned by DayDateTime()
Mario Ivankovits <mario@ops.co.at>
for fixing a crash if no fonts are found

31
HISTORY
View File

@ -5487,3 +5487,34 @@ Video Disk Recorder Revision History
- Added cDevice::CloseFilter() to allow a device to have complete control over - Added cDevice::CloseFilter() to allow a device to have complete control over
both opening and closing section filters (thanks to Rolf Ahrenberg). both opening and closing section filters (thanks to Rolf Ahrenberg).
- Some fixes to PLUGINS.html (thanks to Rolf Ahrenberg). - Some fixes to PLUGINS.html (thanks to Rolf Ahrenberg).
2007-11-04: Version 1.5.11
- Fixed checking compatibility mode for old subtitles plugin (thanks to Marco
Schlüßler).
- Updated the French OSD texts (thanks to Michael Nival).
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- The "Play" key now starts replay of the selected recording in the Recordings
menu (thanks to Ville Skyttä);
- Improved shutdown handling (thanks to Udo Richter).
- Housekeeping now waits for a while after a replay has ended (thanks to Udo Richter).
- Added more special characters to the list of allowed characters when entering
strings (thanks to Thomas Günther).
- Added Ukrainian language texts (thanks to Yarema Aka Knedlyk).
- Added a workaround for recovering from wrongfully interpreted "pre 1.3.19 PS1 packets".
- Fixed a possible blocking in replay when subtitles are active.
- Fixed displaying subtitles in live mode.
- Fixed handling CONFDIR (thanks to Rolf Ahrenberg).
- Added some missing 'const' keywords (thanks to Sascha Volkenandt).
- The 'Allowed' parameter in cMenuEditStrItem() is now NULL by default, which results
in using tr(FileNameChars) (suggested by Thomas Günther).
- Added a missing '.' to the date returned by DayDateTime() (thanks to Lauri Nurmi).
- Improved the 'i18n' target in the Makefile to avoid unnecessary work (thanks to
Stefan Huelswitt). The 'newplugin' and 'i18n-to-gettext.pl' scripts have been
changed accordingly. Plugin authors may want to adjust the 'i18n' target
of their Makefiles.
- Fixed a crash if no fonts are found (thanks to Mario Ivankovits and Clemens
Kirchgatterer).
- Fixed decoding filename characters in case there are not two hex digits after
the '#' (reported by Helmut Auer).

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 1.108 2007/10/13 09:26:40 kls Exp $ # $Id: Makefile 1.110 2007/11/04 10:15:59 kls Exp $
.DELETE_ON_ERROR: .DELETE_ON_ERROR:
@ -27,7 +27,7 @@ PLUGINDIR= ./PLUGINS
PLUGINLIBDIR= $(PLUGINDIR)/lib PLUGINLIBDIR= $(PLUGINDIR)/lib
VIDEODIR = /video VIDEODIR = /video
CONFDIR ?= $(VIDEODIR) CONFDIR = $(VIDEODIR)
DOXYGEN = /usr/bin/doxygen DOXYGEN = /usr/bin/doxygen
DOXYFILE = Doxyfile DOXYFILE = Doxyfile
@ -106,25 +106,25 @@ $(SILIB):
PODIR = po PODIR = po
LOCALEDIR = locale LOCALEDIR = locale
I18Npo = $(wildcard $(PODIR)/*.po) I18Npo = $(wildcard $(PODIR)/*.po)
I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file)))) I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr.mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
I18Ndirs = $(notdir $(foreach file, $(I18Npo), $(basename $(file))))
I18Npot = $(PODIR)/vdr.pot I18Npot = $(PODIR)/vdr.pot
%.mo: %.po %.mo: %.po
msgfmt -c -o $@ $< msgfmt -c -o $@ $<
$(I18Npot): $(wildcard *.c) $(I18Npot): $(wildcard *.c)
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<vdr-bugs@cadsoft.de>' -o $@ $(wildcard *.c) xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<vdr-bugs@cadsoft.de>' -o $@ $^
$(I18Npo): $(I18Npot) %.po: $(I18Npot)
msgmerge -U --no-wrap --no-location --backup=none -q $@ $< msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
@touch $@
i18n: $(I18Nmo) $(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr.mo: $(PODIR)/%.mo
@mkdir -p $(LOCALEDIR) @mkdir -p $(dir $@)
for i in $(I18Ndirs); do\ cp $< $@
mkdir -p $(LOCALEDIR)/$$i/LC_MESSAGES;\
cp $(PODIR)/$$i.mo $(LOCALEDIR)/$$i/LC_MESSAGES/vdr.mo;\ .PHONY: i18n
done i18n: $(I18Nmsgs)
install-i18n: install-i18n:
@mkdir -p $(DESTDIR)$(LOCDIR) @mkdir -p $(DESTDIR)$(LOCDIR)

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # Makefile for a Video Disk Recorder plugin
# #
# $Id: Makefile 1.20 2007/10/14 09:23:04 kls Exp $ # $Id: Makefile 1.21 2007/11/04 10:52:15 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.
@ -72,25 +72,25 @@ $(DEPFILE): Makefile
PODIR = po PODIR = po
LOCALEDIR = $(VDRDIR)/locale LOCALEDIR = $(VDRDIR)/locale
I18Npo = $(wildcard $(PODIR)/*.po) I18Npo = $(wildcard $(PODIR)/*.po)
I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file)))) I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
I18Ndirs = $(notdir $(foreach file, $(I18Npo), $(basename $(file))))
I18Npot = $(PODIR)/$(PLUGIN).pot I18Npot = $(PODIR)/$(PLUGIN).pot
%.mo: %.po %.mo: %.po
msgfmt -c -o $@ $< msgfmt -c -o $@ $<
$(I18Npot): $(wildcard *.c) $(I18Npot): $(wildcard *.c)
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<vdr-bugs@cadsoft.de>' -o $@ $(wildcard *.c) xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<vdr-bugs@cadsoft.de>' -o $@ $^
$(I18Npo): $(I18Npot) %.po: $(I18Npot)
msgmerge -U --no-wrap --no-location --backup=none -q $@ $< msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
@touch $@
i18n: $(I18Npot) $(I18Nmo) $(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
@mkdir -p $(LOCALEDIR) @mkdir -p $(dir $@)
for i in $(I18Ndirs); do\ cp $< $@
mkdir -p $(LOCALEDIR)/$$i/LC_MESSAGES;\
cp $(PODIR)/$$i.mo $(LOCALEDIR)/$$i/LC_MESSAGES/vdr-$(PLUGIN).mo;\ .PHONY: i18n
done i18n: $(I18Nmsgs)
### Targets: ### Targets:

View File

@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # Makefile for a Video Disk Recorder plugin
# #
# $Id: Makefile 1.13 2007/10/14 09:23:25 kls Exp $ # $Id: Makefile 1.14 2007/11/04 10:52:13 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.
@ -70,25 +70,25 @@ $(DEPFILE): Makefile
PODIR = po PODIR = po
LOCALEDIR = $(VDRDIR)/locale LOCALEDIR = $(VDRDIR)/locale
I18Npo = $(wildcard $(PODIR)/*.po) I18Npo = $(wildcard $(PODIR)/*.po)
I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file)))) I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
I18Ndirs = $(notdir $(foreach file, $(I18Npo), $(basename $(file))))
I18Npot = $(PODIR)/$(PLUGIN).pot I18Npot = $(PODIR)/$(PLUGIN).pot
%.mo: %.po %.mo: %.po
msgfmt -c -o $@ $< msgfmt -c -o $@ $<
$(I18Npot): $(wildcard *.c) $(I18Npot): $(wildcard *.c)
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<vdr-bugs@cadsoft.de>' -o $@ $(wildcard *.c) xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<vdr-bugs@cadsoft.de>' -o $@ $^
$(I18Npo): $(I18Npot) %.po: $(I18Npot)
msgmerge -U --no-wrap --no-location --backup=none -q $@ $< msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
@touch $@
i18n: $(I18Npot) $(I18Nmo) $(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
@mkdir -p $(LOCALEDIR) @mkdir -p $(dir $@)
for i in $(I18Ndirs); do\ cp $< $@
mkdir -p $(LOCALEDIR)/$$i/LC_MESSAGES;\
cp $(PODIR)/$$i.mo $(LOCALEDIR)/$$i/LC_MESSAGES/vdr-$(PLUGIN).mo;\ .PHONY: i18n
done i18n: $(I18Nmsgs)
### Targets: ### Targets:

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 1.299 2007/10/06 14:27:18 kls Exp $ * $Id: config.h 1.300 2007/10/17 18:34:17 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.5.10" #define VDRVERSION "1.5.11"
#define VDRVERSNUM 10510 // Version * 10000 + Major * 100 + Minor #define VDRVERSNUM 10511 // Version * 10000 + Major * 100 + Minor
// The plugin API's version number: // The plugin API's version number:
#define APIVERSION "1.5.10" #define APIVERSION "1.5.11"
#define APIVERSNUM 10510 // Version * 10000 + Major * 100 + Minor #define APIVERSNUM 10511 // 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

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 1.145 2007/10/14 13:09:19 kls Exp $ * $Id: device.c 1.147 2007/11/03 13:30:09 kls Exp $
*/ */
#include "device.h" #include "device.h"
@ -209,6 +209,9 @@ int cPesAssembler::PacketSize(const uchar *data)
// The default priority for non-primary devices: // The default priority for non-primary devices:
#define DEFAULTPRIORITY -1 #define DEFAULTPRIORITY -1
// The minimum number of unknown PS1 packets to consider this a "pre 1.3.19 private stream":
#define MIN_PRE_1_3_19_PRIVATESTREAM 10
int cDevice::numDevices = 0; int cDevice::numDevices = 0;
int cDevice::useDevice = 0; int cDevice::useDevice = 0;
int cDevice::nextCardIndex = 0; int cDevice::nextCardIndex = 0;
@ -931,7 +934,7 @@ void cDevice::ClrAvailableTracks(bool DescriptionsOnly, bool IdsOnly)
} }
else else
memset(availableTracks, 0, sizeof(availableTracks)); memset(availableTracks, 0, sizeof(availableTracks));
pre_1_3_19_PrivateStream = false; pre_1_3_19_PrivateStream = 0;
SetAudioChannel(0); // fall back to stereo SetAudioChannel(0); // fall back to stereo
currentAudioTrackMissingCount = 0; currentAudioTrackMissingCount = 0;
currentAudioTrack = ttNone; currentAudioTrack = ttNone;
@ -1236,7 +1239,7 @@ int cDevice::PlayPesPacket(const uchar *Data, int Length, bool VideoOnly)
int PayloadOffset = Data[8] + 9; int PayloadOffset = Data[8] + 9;
// Compatibility mode for old subtitles plugin: // Compatibility mode for old subtitles plugin:
if ((Data[PayloadOffset - 3] & 0x81) == 1 && Data[PayloadOffset - 2] == 0x81) if ((Data[7] & 0x01) && (Data[PayloadOffset - 3] & 0x81) == 0x01 && Data[PayloadOffset - 2] == 0x81)
PayloadOffset--; PayloadOffset--;
uchar SubStreamId = Data[PayloadOffset]; uchar SubStreamId = Data[PayloadOffset];
@ -1245,11 +1248,13 @@ int cDevice::PlayPesPacket(const uchar *Data, int Length, bool VideoOnly)
// Compatibility mode for old VDR recordings, where 0xBD was only AC3: // Compatibility mode for old VDR recordings, where 0xBD was only AC3:
pre_1_3_19_PrivateStreamDeteced: pre_1_3_19_PrivateStreamDeteced:
if (pre_1_3_19_PrivateStream) { if (pre_1_3_19_PrivateStream > MIN_PRE_1_3_19_PRIVATESTREAM) {
SubStreamId = c; SubStreamId = c;
SubStreamType = 0x80; SubStreamType = 0x80;
SubStreamIndex = 0; SubStreamIndex = 0;
} }
else if (pre_1_3_19_PrivateStream)
pre_1_3_19_PrivateStream--; // every known PS1 packet counts down towards 0 to recover from glitches...
switch (SubStreamType) { switch (SubStreamType) {
case 0x20: // SPU case 0x20: // SPU
case 0x30: // SPU case 0x30: // SPU
@ -1277,11 +1282,14 @@ pre_1_3_19_PrivateStreamDeteced:
break; break;
default: default:
// Compatibility mode for old VDR recordings, where 0xBD was only AC3: // Compatibility mode for old VDR recordings, where 0xBD was only AC3:
if (!pre_1_3_19_PrivateStream) { if (pre_1_3_19_PrivateStream <= MIN_PRE_1_3_19_PRIVATESTREAM) {
dsyslog("switching to pre 1.3.19 Dolby Digital compatibility mode"); dsyslog("unknown PS1 packet, substream id = %02X (counter is at %d)", SubStreamId, pre_1_3_19_PrivateStream);
ClrAvailableTracks(); pre_1_3_19_PrivateStream += 2; // ...and every unknown PS1 packet counts up (the very first one counts twice, but that's ok)
pre_1_3_19_PrivateStream = true; if (pre_1_3_19_PrivateStream > MIN_PRE_1_3_19_PRIVATESTREAM) {
goto pre_1_3_19_PrivateStreamDeteced; dsyslog("switching to pre 1.3.19 Dolby Digital compatibility mode - substream id = %02X", SubStreamId);
ClrAvailableTracks();
goto pre_1_3_19_PrivateStreamDeteced;
}
} }
} }
} }

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 1.85 2007/10/14 13:09:12 kls Exp $ * $Id: device.h 1.86 2007/10/21 09:21:52 kls Exp $
*/ */
#ifndef __DEVICE_H #ifndef __DEVICE_H
@ -377,7 +377,7 @@ private:
cMutex mutexCurrentSubtitleTrack; cMutex mutexCurrentSubtitleTrack;
int currentAudioTrackMissingCount; int currentAudioTrackMissingCount;
bool autoSelectPreferredSubtitleLanguage; bool autoSelectPreferredSubtitleLanguage;
bool pre_1_3_19_PrivateStream; int pre_1_3_19_PrivateStream;
protected: protected:
virtual void SetAudioTrackDevice(eTrackType Type); virtual void SetAudioTrackDevice(eTrackType Type);
///< Sets the current audio track to the given value. ///< Sets the current audio track to the given value.

View File

@ -7,7 +7,7 @@
* Original author: Marco Schlüßler <marco@lordzodiac.de> * Original author: Marco Schlüßler <marco@lordzodiac.de>
* With some input from the "subtitle plugin" by Pekka Virtanen <pekka.virtanen@sci.fi> * With some input from the "subtitle plugin" by Pekka Virtanen <pekka.virtanen@sci.fi>
* *
* $Id: dvbsubtitle.c 1.1 2007/10/14 14:02:35 kls Exp $ * $Id: dvbsubtitle.c 1.2 2007/11/03 14:36:07 kls Exp $
*/ */
#include "dvbsubtitle.h" #include "dvbsubtitle.h"
@ -692,7 +692,7 @@ int cDvbSubtitleConverter::Convert(const uchar *Data, int Length)
bool ResetSubtitleAssembler = Data[PayloadOffset + 3] == 0x00; bool ResetSubtitleAssembler = Data[PayloadOffset + 3] == 0x00;
// Compatibility mode for old subtitles plugin: // Compatibility mode for old subtitles plugin:
if ((Data[PayloadOffset - 3] & 0x81) == 1 && Data[PayloadOffset - 2] == 0x81) { if ((Data[7] & 0x01) && (Data[PayloadOffset - 3] & 0x81) == 0x01 && Data[PayloadOffset - 2] == 0x81) {
PayloadOffset--; PayloadOffset--;
SubstreamHeaderLength = 1; SubstreamHeaderLength = 1;
ResetSubtitleAssembler = Data[8] >= 5; ResetSubtitleAssembler = Data[8] >= 5;
@ -730,8 +730,8 @@ int cDvbSubtitleConverter::Convert(const uchar *Data, int Length)
break; break;
} }
} }
return Length;
} }
return Length;
} }
return 0; return 0;
} }
@ -767,7 +767,7 @@ void cDvbSubtitleConverter::Action(void)
//TODO sync on PTS? are there actually devices that don't deliver an STC? //TODO sync on PTS? are there actually devices that don't deliver an STC?
} }
Delta /= 90; // STC and PTS are in 1/90000s Delta /= 90; // STC and PTS are in 1/90000s
if (abs(Delta) <= MAXDELTA) { if (Delta <= MAXDELTA) {
if (Delta <= 0) { if (Delta <= 0) {
dbgconverter("Got %d bitmaps, showing #%d\n", bitmaps->Count(), sb->Index() + 1); dbgconverter("Got %d bitmaps, showing #%d\n", bitmaps->Count(), sb->Index() + 1);
if (AssertOsd()) { if (AssertOsd()) {
@ -777,8 +777,8 @@ void cDvbSubtitleConverter::Action(void)
} }
bitmaps->Del(sb); bitmaps->Del(sb);
} }
else else if (Delta < WaitMs)
WaitMs = min(max(Delta, int64_t(0)), int64_t(1000)); WaitMs = Delta;
} }
else else
bitmaps->Del(sb); bitmaps->Del(sb);
@ -830,6 +830,8 @@ int cDvbSubtitleConverter::ExtractSegment(const uchar *Data, int Length, int64_t
pages->Add(page); pages->Add(page);
dbgpages("Create SubtitlePage %d (total pages = %d)\n", pageId, pages->Count()); dbgpages("Create SubtitlePage %d (total pages = %d)\n", pageId, pages->Count());
} }
if (Pts)
page->SetPts(Pts);
switch (segmentType) { switch (segmentType) {
case PAGE_COMPOSITION_SEGMENT: { case PAGE_COMPOSITION_SEGMENT: {
dbgsegments("PAGE_COMPOSITION_SEGMENT\n"); dbgsegments("PAGE_COMPOSITION_SEGMENT\n");
@ -837,8 +839,6 @@ int cDvbSubtitleConverter::ExtractSegment(const uchar *Data, int Length, int64_t
if (pageVersion == page->Version()) if (pageVersion == page->Version())
break; // no update break; // no update
page->SetVersion(pageVersion); page->SetVersion(pageVersion);
if (Pts)
page->SetPts(Pts);
page->SetTimeout(Data[6]); page->SetTimeout(Data[6]);
page->SetState((Data[6 + 1] & 0x0C) >> 2); page->SetState((Data[6 + 1] & 0x0C) >> 2);
page->regions.Clear(); page->regions.Clear();
@ -968,6 +968,7 @@ int cDvbSubtitleConverter::ExtractSegment(const uchar *Data, int Length, int64_t
dbgsegments("END_OF_DISPLAY_SET_SEGMENT\n"); dbgsegments("END_OF_DISPLAY_SET_SEGMENT\n");
FinishPage(page); FinishPage(page);
} }
break;
default: default:
dbgsegments("*** unknown segment type: %02X\n", segmentType); dbgsegments("*** unknown segment type: %02X\n", segmentType);
} }

26
font.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: font.c 1.21 2007/06/23 11:25:42 kls Exp $ * $Id: font.c 1.22 2007/11/04 11:08:12 kls Exp $
*/ */
#include "font.h" #include "font.h"
@ -395,17 +395,21 @@ cString cFont::GetFontFileName(const char *FontName)
FcConfigSubstitute(NULL, pat, FcMatchPattern); FcConfigSubstitute(NULL, pat, FcMatchPattern);
FcDefaultSubstitute(pat); FcDefaultSubstitute(pat);
FcFontSet *fontset = FcFontSort(NULL, pat, FcFalse, NULL, NULL); FcFontSet *fontset = FcFontSort(NULL, pat, FcFalse, NULL, NULL);
for (int i = 0; i < fontset->nfont; i++) { if (fontset) {
FcBool scalable; for (int i = 0; i < fontset->nfont; i++) {
FcPatternGetBool(fontset->fonts[i], FC_SCALABLE, 0, &scalable); FcBool scalable;
if (scalable) { FcPatternGetBool(fontset->fonts[i], FC_SCALABLE, 0, &scalable);
FcChar8 *s = NULL; if (scalable) {
FcPatternGetString(fontset->fonts[i], FC_FILE, 0, &s); FcChar8 *s = NULL;
FontFileName = (char *)s; FcPatternGetString(fontset->fonts[i], FC_FILE, 0, &s);
break; FontFileName = (char *)s;
break;
}
} }
} FcFontSetDestroy(fontset);
FcFontSetDestroy(fontset); }
else
esyslog("ERROR: no usable font found for '%s'", FontName);
FcPatternDestroy(pat); FcPatternDestroy(pat);
free(fn); free(fn);
FcFini(); FcFini();

View File

@ -10,7 +10,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: i18n-to-gettext.pl 1.5 2007/10/14 14:14:22 kls Exp $ # $Id: i18n-to-gettext.pl 1.6 2007/11/04 10:57:36 kls Exp $
# How to convert an actual plugin: # How to convert an actual plugin:
# #
@ -306,25 +306,25 @@ $MAKEI18N = q{### Internationalization (I18N):
PODIR = po PODIR = po
LOCALEDIR = $(VDRDIR)/locale LOCALEDIR = $(VDRDIR)/locale
I18Npo = $(wildcard $(PODIR)/*.po) I18Npo = $(wildcard $(PODIR)/*.po)
I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file)))) I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
I18Ndirs = $(notdir $(foreach file, $(I18Npo), $(basename $(file))))
I18Npot = $(PODIR)/$(PLUGIN).pot I18Npot = $(PODIR)/$(PLUGIN).pot
%.mo: %.po %.mo: %.po
msgfmt -c -o $@ $< msgfmt -c -o $@ $<
$(I18Npot): $(wildcard *.c) $(I18Npot): $(wildcard *.c)
xgettext -C -cTRANSLATORS --no-wrap -F -k -ktr -ktrNOOP --msgid-bugs-address='<} . $MSGIDBUGS . q{>' -o $@ $(wildcard *.c) xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<} . $MSGIDBUGS . q{>' -o $@ $^
$(I18Npo): $(I18Npot) %.po: $(I18Npot)
msgmerge -U --no-wrap -F --backup=none -q $@ $< msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
@touch $@
i18n: $(I18Npot) $(I18Nmo) $(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
@mkdir -p $(LOCALEDIR) @mkdir -p $(dir $@)
for i in $(I18Ndirs); do\ cp $< $@
mkdir -p $(LOCALEDIR)/$$i/LC_MESSAGES;\
cp $(PODIR)/$$i.mo $(LOCALEDIR)/$$i/LC_MESSAGES/vdr-$(PLUGIN).mo;\ .PHONY: i18n
done i18n: $(I18Nmsgs)
}; };

3
i18n.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: i18n.c 1.317 2007/08/24 14:03:47 kls Exp $ * $Id: i18n.c 1.318 2007/11/01 10:38:27 kls Exp $
* *
* *
*/ */
@ -59,6 +59,7 @@ const char *LanguageCodeList[] = {
"dan", "dan",
"cze,ces", "cze,ces",
"tur", "tur",
"ukr",
NULL NULL
}; };

9
menu.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: menu.c 1.463 2007/10/13 10:10:20 kls Exp $ * $Id: menu.c 1.465 2007/11/03 15:02:00 kls Exp $
*/ */
#include "menu.h" #include "menu.h"
@ -251,7 +251,7 @@ void cMenuEditChannel::Setup(void)
// Parameters for all types of sources: // Parameters for all types of sources:
strn0cpy(name, data.name, sizeof(name)); strn0cpy(name, data.name, sizeof(name));
Add(new cMenuEditStrItem( tr("Name"), name, sizeof(name), tr(FileNameChars))); Add(new cMenuEditStrItem( tr("Name"), name, sizeof(name)));
Add(new cMenuEditSrcItem( tr("Source"), &data.source)); Add(new cMenuEditSrcItem( tr("Source"), &data.source));
Add(new cMenuEditIntItem( tr("Frequency"), &data.frequency)); Add(new cMenuEditIntItem( tr("Frequency"), &data.frequency));
Add(new cMenuEditIntItem( tr("Vpid"), &data.vpid, 0, 0x1FFF)); Add(new cMenuEditIntItem( tr("Vpid"), &data.vpid, 0, 0x1FFF));
@ -671,7 +671,7 @@ cMenuEditTimer::cMenuEditTimer(cTimer *Timer, bool New)
Add(new cMenuEditBitItem( tr("VPS"), &data.flags, tfVps)); Add(new cMenuEditBitItem( tr("VPS"), &data.flags, tfVps));
Add(new cMenuEditIntItem( tr("Priority"), &data.priority, 0, MAXPRIORITY)); Add(new cMenuEditIntItem( tr("Priority"), &data.priority, 0, MAXPRIORITY));
Add(new cMenuEditIntItem( tr("Lifetime"), &data.lifetime, 0, MAXLIFETIME)); Add(new cMenuEditIntItem( tr("Lifetime"), &data.lifetime, 0, MAXLIFETIME));
Add(new cMenuEditStrItem( tr("File"), data.file, sizeof(data.file), tr(FileNameChars))); Add(new cMenuEditStrItem( tr("File"), data.file, sizeof(data.file)));
SetFirstDayItem(); SetFirstDayItem();
} }
Timers.IncBeingEdited(); Timers.IncBeingEdited();
@ -2107,6 +2107,7 @@ eOSState cMenuRecordings::ProcessKey(eKeys Key)
if (state == osUnknown) { if (state == osUnknown) {
switch (Key) { switch (Key) {
case kPlay:
case kOk: return Play(); case kOk: return Play();
case kRed: return (helpKeys > 1 && RecordingCommands.Count()) ? Commands() : Play(); case kRed: return (helpKeys > 1 && RecordingCommands.Count()) ? Commands() : Play();
case kGreen: return Rewind(); case kGreen: return Rewind();
@ -2712,7 +2713,7 @@ cMenuSetupRecord::cMenuSetupRecord(void)
Add(new cMenuEditBoolItem(tr("Setup.Recording$Use VPS"), &data.UseVps)); Add(new cMenuEditBoolItem(tr("Setup.Recording$Use VPS"), &data.UseVps));
Add(new cMenuEditIntItem( tr("Setup.Recording$VPS margin (s)"), &data.VpsMargin, 0)); Add(new cMenuEditIntItem( tr("Setup.Recording$VPS margin (s)"), &data.VpsMargin, 0));
Add(new cMenuEditBoolItem(tr("Setup.Recording$Mark instant recording"), &data.MarkInstantRecord)); Add(new cMenuEditBoolItem(tr("Setup.Recording$Mark instant recording"), &data.MarkInstantRecord));
Add(new cMenuEditStrItem( tr("Setup.Recording$Name instant recording"), data.NameInstantRecord, sizeof(data.NameInstantRecord), tr(FileNameChars))); Add(new cMenuEditStrItem( tr("Setup.Recording$Name instant recording"), data.NameInstantRecord, sizeof(data.NameInstantRecord)));
Add(new cMenuEditIntItem( tr("Setup.Recording$Instant rec. time (min)"), &data.InstantRecordTime, 1, MAXINSTANTRECTIME)); Add(new cMenuEditIntItem( tr("Setup.Recording$Instant rec. time (min)"), &data.InstantRecordTime, 1, MAXINSTANTRECTIME));
Add(new cMenuEditIntItem( tr("Setup.Recording$Max. video file size (MB)"), &data.MaxVideoFileSize, MINVIDEOFILESIZE, MAXVIDEOFILESIZE)); Add(new cMenuEditIntItem( tr("Setup.Recording$Max. video file size (MB)"), &data.MaxVideoFileSize, MINVIDEOFILESIZE, MAXVIDEOFILESIZE));
Add(new cMenuEditBoolItem(tr("Setup.Recording$Split edited files"), &data.SplitEditedFiles)); Add(new cMenuEditBoolItem(tr("Setup.Recording$Split edited files"), &data.SplitEditedFiles));

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 1.53 2007/10/13 12:05:37 kls Exp $ * $Id: menuitems.c 1.55 2007/11/03 15:01:01 kls Exp $
*/ */
#include "menuitems.h" #include "menuitems.h"
@ -18,7 +18,7 @@
#define AUTO_ADVANCE_TIMEOUT 1500 // ms before auto advance when entering characters via numeric keys #define AUTO_ADVANCE_TIMEOUT 1500 // ms before auto advance when entering characters via numeric keys
const char *FileNameChars = trNOOP(" abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@"); const char *FileNameChars = trNOOP("FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&");
// --- cMenuEditItem --------------------------------------------------------- // --- cMenuEditItem ---------------------------------------------------------
@ -256,7 +256,7 @@ cMenuEditStrItem::cMenuEditStrItem(const char *Name, char *Value, int Length, co
{ {
value = Value; value = Value;
length = Length; length = Length;
allowed = Allowed; allowed = Allowed ? Allowed : tr(FileNameChars);
pos = -1; pos = -1;
offset = 0; offset = 0;
insert = uppercase = false; insert = uppercase = false;
@ -285,7 +285,7 @@ void cMenuEditStrItem::EnterEditMode(void)
int l = strlen(allowed) + 1; int l = strlen(allowed) + 1;
allowedUtf8 = new uint[l]; allowedUtf8 = new uint[l];
Utf8ToArray(allowed, allowedUtf8, l); Utf8ToArray(allowed, allowedUtf8, l);
const char *charMap = tr(" 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"); const char *charMap = tr("CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9");
l = strlen(charMap) + 1; l = strlen(charMap) + 1;
charMapUtf8 = new uint[l]; charMapUtf8 = new uint[l];
Utf8ToArray(charMap, charMapUtf8, l); Utf8ToArray(charMap, charMapUtf8, l);

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 1.21 2007/06/08 11:53:37 kls Exp $ * $Id: menuitems.h 1.22 2007/11/03 14:59:47 kls Exp $
*/ */
#ifndef __MENUITEMS_H #ifndef __MENUITEMS_H
@ -101,7 +101,7 @@ protected:
void LeaveEditMode(bool SaveValue = false); void LeaveEditMode(bool SaveValue = false);
bool InEditMode(void) { return valueUtf8 != NULL; } bool InEditMode(void) { return valueUtf8 != NULL; }
public: public:
cMenuEditStrItem(const char *Name, char *Value, int Length, const char *Allowed); cMenuEditStrItem(const char *Name, char *Value, int Length, const char *Allowed = NULL);
~cMenuEditStrItem(); ~cMenuEditStrItem();
virtual eOSState ProcessKey(eKeys Key); virtual eOSState ProcessKey(eKeys Key);
}; };

View File

@ -12,7 +12,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: newplugin 1.38 2007/10/14 09:13:17 kls Exp $ # $Id: newplugin 1.39 2007/11/04 10:42:52 kls Exp $
$PLUGIN_NAME = $ARGV[0] || die "Usage: newplugin <name>\n"; $PLUGIN_NAME = $ARGV[0] || die "Usage: newplugin <name>\n";
@ -131,25 +131,25 @@ DEPFILE = .dependencies
PODIR = po PODIR = po
LOCALEDIR = \$(VDRDIR)/locale LOCALEDIR = \$(VDRDIR)/locale
I18Npo = \$(wildcard \$(PODIR)/*.po) I18Npo = \$(wildcard \$(PODIR)/*.po)
I18Nmo = \$(addsuffix .mo, \$(foreach file, \$(I18Npo), \$(basename \$(file)))) I18Nmsgs = \$(addprefix \$(LOCALEDIR)/, \$(addsuffix /LC_MESSAGES/vdr-\$(PLUGIN).mo, \$(notdir \$(foreach file, \$(I18Npo), \$(basename \$(file))))))
I18Ndirs = \$(notdir \$(foreach file, \$(I18Npo), \$(basename \$(file))))
I18Npot = \$(PODIR)/\$(PLUGIN).pot I18Npot = \$(PODIR)/\$(PLUGIN).pot
%.mo: %.po %.mo: %.po
msgfmt -c -o \$\@ \$< msgfmt -c -o \$\@ \$<
\$(I18Npot): \$(wildcard *.c) \$(I18Npot): \$(wildcard *.c)
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<see README>' -o \$\@ \$(wildcard *.c) xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<see README>' -o \$\@ \$^
\$(I18Npo): \$(I18Npot) %.po: \$(I18Npot)
msgmerge -U --no-wrap --no-location --backup=none -q \$\@ \$< msgmerge -U --no-wrap --no-location --backup=none -q \$\@ \$<
\@touch \$\@
i18n: \$(I18Npot) \$(I18Nmo) \$(I18Nmsgs): \$(LOCALEDIR)/%/LC_MESSAGES/vdr-\$(PLUGIN).mo: \$(PODIR)/%.mo
\@mkdir -p \$(LOCALEDIR) \@mkdir -p \$(dir \$@)
for i in \$(I18Ndirs); do\\ cp \$< \$\@
mkdir -p \$(LOCALEDIR)/\$\$i/LC_MESSAGES;\\
cp \$(PODIR)/\$\$i.mo \$(LOCALEDIR)/\$\$i/LC_MESSAGES/vdr-\$(PLUGIN).mo;\\ .PHONY: i18n
done i18n: \$(I18Nmsgs)
### Targets: ### Targets:

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: osdbase.h 1.16 2007/06/09 11:49:00 kls Exp $ * $Id: osdbase.h 1.17 2007/11/03 14:50:52 kls Exp $
*/ */
#ifndef __OSDBASE_H #ifndef __OSDBASE_H
@ -57,11 +57,11 @@ public:
cOsdItem(eOSState State = osUnknown); cOsdItem(eOSState State = osUnknown);
cOsdItem(const char *Text, eOSState State = osUnknown, bool Selectable = true); cOsdItem(const char *Text, eOSState State = osUnknown, bool Selectable = true);
virtual ~cOsdItem(); virtual ~cOsdItem();
bool Selectable(void) { return selectable; } bool Selectable(void) const { return selectable; }
void SetText(const char *Text, bool Copy = true); void SetText(const char *Text, bool Copy = true);
void SetSelectable(bool Selectable); void SetSelectable(bool Selectable);
void SetFresh(bool Fresh); void SetFresh(bool Fresh);
const char *Text(void) { return text; } const char *Text(void) const { return text; }
virtual void Set(void) {} virtual void Set(void) {}
virtual eOSState ProcessKey(eKeys Key); virtual eOSState ProcessKey(eKeys Key);
}; };
@ -77,7 +77,7 @@ public:
cOsdObject(bool FastResponse = false) { isMenu = false; needsFastResponse = FastResponse; } cOsdObject(bool FastResponse = false) { isMenu = false; needsFastResponse = FastResponse; }
virtual ~cOsdObject() {} virtual ~cOsdObject() {}
virtual bool NeedsFastResponse(void) { return needsFastResponse; } virtual bool NeedsFastResponse(void) { return needsFastResponse; }
bool IsMenu(void) { return isMenu; } bool IsMenu(void) const { return isMenu; }
virtual void Show(void); virtual void Show(void);
virtual eOSState ProcessKey(eKeys Key) { return osUnknown; } virtual eOSState ProcessKey(eKeys Key) { return osUnknown; }
}; };
@ -124,7 +124,7 @@ public:
cOsdMenu(const char *Title, int c0 = 0, int c1 = 0, int c2 = 0, int c3 = 0, int c4 = 0); cOsdMenu(const char *Title, int c0 = 0, int c1 = 0, int c2 = 0, int c3 = 0, int c4 = 0);
virtual ~cOsdMenu(); virtual ~cOsdMenu();
virtual bool NeedsFastResponse(void) { return subMenu ? subMenu->NeedsFastResponse() : cOsdObject::NeedsFastResponse(); } virtual bool NeedsFastResponse(void) { return subMenu ? subMenu->NeedsFastResponse() : cOsdObject::NeedsFastResponse(); }
int Current(void) { return current; } int Current(void) const { return current; }
void Add(cOsdItem *Item, bool Current = false, cOsdItem *After = NULL); void Add(cOsdItem *Item, bool Current = false, cOsdItem *After = NULL);
void Ins(cOsdItem *Item, bool Current = false, cOsdItem *Before = NULL); void Ins(cOsdItem *Item, bool Current = false, cOsdItem *Before = NULL);
virtual void Display(void); virtual void Display(void);

View File

@ -872,13 +872,13 @@ msgstr "Proc
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Procés d'edició iniciat anteriorment!" msgstr "Procés d'edició iniciat anteriorment!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " aàbcçdeéèfghiíjklmnoòpqrstuúvwxyz0123456789-.#~,/_@·" msgstr " aàbcçdeéèfghiíjklmnoòpqrstuúvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&·"
msgid "yes" msgid "yes"
msgstr "sí" msgstr "sí"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr "" msgstr ""
msgid "Button$ABC/abc" msgid "Button$ABC/abc"

View File

@ -870,14 +870,14 @@ msgstr "Edita
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Editaèní proces je ji¾ aktivní!" msgstr "Editaèní proces je ji¾ aktivní!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " aábcèdïeéìfghiíjklmnòoópqrøs¹t»uúùvwxyýz¾0123456789-.#~,/_@" msgstr " aábcèdïeéìfghiíjklmnòoópqrøs¹t»uúùvwxyýz¾0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "ano" msgstr "ano"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabcáè2\tdefïéì3\tghií4\tjkl5\tmnoòó6\tpqrsø¹7\ttuv»úù8\twxyzý¾9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcáè2\tdefïéì3\tghií4\tjkl5\tmnoòó6\tpqrsø¹7\ttuv»úù8\twxyzý¾9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@ -870,14 +870,14 @@ msgstr "Redigeringsproces startet"
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Redigeringsproces er allerede aktiv!" msgstr "Redigeringsproces er allerede aktiv!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrstuvwxyzæøå0123456789-.#~,/_@" msgstr " abcdefghijklmnopqrstuvwxyzæøå0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "ja" msgstr "ja"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabcæå2\tdef3\tghi4\tjkl5\tmnoø6\tpqrs7\ttuv8\twxyz9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcæå2\tdef3\tghi4\tjkl5\tmnoø6\tpqrs7\ttuv8\twxyz9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@ -870,14 +870,14 @@ msgstr "Schnitt gestartet"
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Schnitt bereits aktiv!" msgstr "Schnitt bereits aktiv!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " aäbcdefghijklmnoöpqrsßtuüvwxyz0123456789-.#~,/_@" msgstr " aäbcdefghijklmnoöpqrsßtuüvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "ja" msgstr "ja"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabcä2\tdef3\tghi4\tjkl5\tmnoö6\tpqrs7\ttuvü8\twxyz9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcä2\tdef3\tghi4\tjkl5\tmnoö6\tpqrsß7\ttuvü8\twxyz9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@ -870,13 +870,13 @@ msgstr "
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Åðåîåñãáóßá âñßóêåôáé óÝ åîÝëéîç!" msgstr "Åðåîåñãáóßá âñßóêåôáé óÝ åîÝëéîç!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " áÜâãäåÝæçÞèéßêëìíîïüðñóòôõýö÷øùþ0123456789-.#~,/_@abcdefghijklmnopqrstuvwxyz" msgstr " áÜâãäåÝæçÞèéßêëìíîïüðñóòôõýö÷øùþ0123456789-.,#~\\^$[]|()*+?{}/:%@&abcdefghijklmnopqrstuvwxyz"
msgid "yes" msgid "yes"
msgstr "íáß" msgstr "íáß"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr "" msgstr ""
msgid "Button$ABC/abc" msgid "Button$ABC/abc"

View File

@ -870,14 +870,14 @@ msgstr "Proceso de edici
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "¡El proceso de edición ya está activo!" msgstr "¡El proceso de edición ya está activo!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " aábcçdeéfghiíjklmnñoópqrstuúvwxyz0123456789-.#~,/_@" msgstr " aábcçdeéfghiíjklmnñoópqrstuúvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "sí" msgstr "sí"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabcáç2\tdefé3\tghií4\tjkl5\tmnoñó6\tpqrs7\ttuvú8\twxyz9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcáç2\tdefé3\tghií4\tjkl5\tmnoñó6\tpqrs7\ttuvú8\twxyz9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@ -166,7 +166,7 @@ msgid "Key$Audio"
msgstr "Audio" msgstr "Audio"
msgid "Key$Subtitles" msgid "Key$Subtitles"
msgstr "" msgstr "Subtiitrid"
msgid "Key$Schedule" msgid "Key$Schedule"
msgstr "Kava" msgstr "Kava"
@ -187,31 +187,31 @@ msgid "Key$Commands"
msgstr "Käsud" msgstr "Käsud"
msgid "Key$User1" msgid "Key$User1"
msgstr "" msgstr "Lisaklahv1"
msgid "Key$User2" msgid "Key$User2"
msgstr "" msgstr "Lisaklahv2"
msgid "Key$User3" msgid "Key$User3"
msgstr "" msgstr "Lisaklahv3"
msgid "Key$User4" msgid "Key$User4"
msgstr "" msgstr "Lisaklahv4"
msgid "Key$User5" msgid "Key$User5"
msgstr "" msgstr "Lisaklahv5"
msgid "Key$User6" msgid "Key$User6"
msgstr "" msgstr "Lisaklahv6"
msgid "Key$User7" msgid "Key$User7"
msgstr "" msgstr "Lisaklahv7"
msgid "Key$User8" msgid "Key$User8"
msgstr "" msgstr "Lisaklahv8"
msgid "Key$User9" msgid "Key$User9"
msgstr "" msgstr "Lisaklahv9"
msgid "Free To Air" msgid "Free To Air"
msgstr "FTA" msgstr "FTA"
@ -253,10 +253,10 @@ msgid "Dpid2"
msgstr "Dpid2" msgstr "Dpid2"
msgid "Spid1" msgid "Spid1"
msgstr "" msgstr "Spid1"
msgid "Spid2" msgid "Spid2"
msgstr "" msgstr "Spid2"
msgid "Tpid" msgid "Tpid"
msgstr "Tpid" msgstr "Tpid"
@ -283,7 +283,7 @@ msgid "CoderateH"
msgstr "CoderateH" msgstr "CoderateH"
msgid "none" msgid "none"
msgstr "tühi" msgstr "puudu"
msgid "CoderateL" msgid "CoderateL"
msgstr "CoderateL" msgstr "CoderateL"
@ -397,7 +397,7 @@ msgid "Button$Next"
msgstr "Tulekul" msgstr "Tulekul"
msgid "Button$Now" msgid "Button$Now"
msgstr "Nüüd" msgstr "Hetkel"
msgid "Button$Schedule" msgid "Button$Schedule"
msgstr "Ajakava" msgstr "Ajakava"
@ -457,7 +457,7 @@ msgid "Recording commands"
msgstr "Salvestuse käsud" msgstr "Salvestuse käsud"
msgid "never" msgid "never"
msgstr "mitte kunagi" msgstr "ei"
msgid "skin dependent" msgid "skin dependent"
msgstr "kestast sõltuv" msgstr "kestast sõltuv"
@ -529,10 +529,10 @@ msgid "Setup.OSD$Channel info time (s)"
msgstr "Kanaliinfo esitusaeg (s)" msgstr "Kanaliinfo esitusaeg (s)"
msgid "Setup.OSD$Info on channel switch" msgid "Setup.OSD$Info on channel switch"
msgstr "Kanaliinfo näitamine" msgstr "Kanaliinfo kuvamine"
msgid "Setup.OSD$Timeout requested channel info" msgid "Setup.OSD$Timeout requested channel info"
msgstr "Kanaliinfo kuvamise ajapiirang" msgstr "Kanaliinfo ajapiirang"
msgid "Setup.OSD$Scroll pages" msgid "Setup.OSD$Scroll pages"
msgstr "Lehekülje kerimine" msgstr "Lehekülje kerimine"
@ -556,7 +556,7 @@ msgid "Setup.EPG$EPG scan timeout (h)"
msgstr "EPG skaneerimise viide (h)" msgstr "EPG skaneerimise viide (h)"
msgid "Setup.EPG$EPG bugfix level" msgid "Setup.EPG$EPG bugfix level"
msgstr "EPG veaparanduse tase" msgstr "EPG veaparandustase"
msgid "Setup.EPG$EPG linger time (min)" msgid "Setup.EPG$EPG linger time (min)"
msgstr "Vana EPG viide (min)" msgstr "Vana EPG viide (min)"
@ -565,7 +565,7 @@ msgid "Setup.EPG$Set system time"
msgstr "Kella sünkroniseerimine" msgstr "Kella sünkroniseerimine"
msgid "Setup.EPG$Use time from transponder" msgid "Setup.EPG$Use time from transponder"
msgstr "Kella sünkroniseerimise transponder" msgstr "Sünkroniseerimise transponder"
#. TRANSLATORS: note the plural! #. TRANSLATORS: note the plural!
msgid "Setup.EPG$Preferred languages" msgid "Setup.EPG$Preferred languages"
@ -588,19 +588,19 @@ msgid "no"
msgstr "ei" msgstr "ei"
msgid "names only" msgid "names only"
msgstr "ainult nimed" msgstr "nimed"
msgid "PIDs only" msgid "PIDs only"
msgstr "ainult PID-id" msgstr "PID-id"
msgid "names and PIDs" msgid "names and PIDs"
msgstr "nimi ja PID-id" msgstr "nimed ja PID-id"
msgid "add new channels" msgid "add new channels"
msgstr "uute kanalite lisamine" msgstr "kanalite lisamine"
msgid "add new transponders" msgid "add new transponders"
msgstr "uute transponderite lisamine" msgstr "transponderite lisamine"
msgid "DVB" msgid "DVB"
msgstr "DVB" msgstr "DVB"
@ -627,22 +627,22 @@ msgid "Setup.DVB$Audio language"
msgstr "Audio keel" msgstr "Audio keel"
msgid "Setup.DVB$Display subtitles" msgid "Setup.DVB$Display subtitles"
msgstr "" msgstr "Subtiitrite kuvamine"
msgid "Setup.DVB$Subtitle languages" msgid "Setup.DVB$Subtitle languages"
msgstr "" msgstr "Subtiitrite keeli"
msgid "Setup.DVB$Subtitle language" msgid "Setup.DVB$Subtitle language"
msgstr "" msgstr "Subtiitri keel"
msgid "Setup.DVB$Subtitle offset" msgid "Setup.DVB$Subtitle offset"
msgstr "" msgstr "Subtiitrite nihe"
msgid "Setup.DVB$Subtitle foreground transparency" msgid "Setup.DVB$Subtitle foreground transparency"
msgstr "" msgstr "Subtiitri läbipaistvus"
msgid "Setup.DVB$Subtitle background transparency" msgid "Setup.DVB$Subtitle background transparency"
msgstr "" msgstr "Subtiitri tausta läbipaistvus"
msgid "LNB" msgid "LNB"
msgstr "LNB" msgstr "LNB"
@ -837,13 +837,13 @@ msgid "No audio available!"
msgstr "Audio kättesaamatu!" msgstr "Audio kättesaamatu!"
msgid "No subtitles" msgid "No subtitles"
msgstr "" msgstr "Subtiitrid väljas"
msgid "Button$Subtitles" msgid "Button$Subtitles"
msgstr "" msgstr "Subtiitrid"
msgid "No subtitles available!" msgid "No subtitles available!"
msgstr "" msgstr "Subtiitrid puuduvad"
msgid "Not enough disk space to start recording!" msgid "Not enough disk space to start recording!"
msgstr "Ebapiisavalt kettaruumi salvestamise alustamiseks!" msgstr "Ebapiisavalt kettaruumi salvestamise alustamiseks!"
@ -870,14 +870,14 @@ msgstr "Redigeerimine algas"
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Redigeerimine juba aktiivne!" msgstr "Redigeerimine juba aktiivne!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrsğzştuvwõäöüxy0123456789-.#~,/_@" msgstr " abcdefghijklmnopqrsðzþtuvwõäöüxy0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "jah" msgstr "jah"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabcä2\tdef3\tghi4\tjkl5\tmnoõö6\tpqrsğ7\ttuvü8\twxyzş9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcä2\tdef3\tghi4\tjkl5\tmnoõö6\tpqrsð7\ttuvü8\twxyzþ9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"
@ -904,7 +904,7 @@ msgid "Can't shutdown - option '-s' not given!"
msgstr "Väljalülitamine ebaõnnestus - '-s' parameeter puudub!" msgstr "Väljalülitamine ebaõnnestus - '-s' parameeter puudub!"
msgid "Editing - shut down anyway?" msgid "Editing - shut down anyway?"
msgstr "Redigeerimine aktiive - lülitan välja?" msgstr "Redigeerimine aktiive - lülitada välja?"
msgid "Recording - shut down anyway?" msgid "Recording - shut down anyway?"
msgstr "Salvestamine aktiivne - lülitada välja?" msgstr "Salvestamine aktiivne - lülitada välja?"
@ -921,7 +921,7 @@ msgid "Plugin %s wakes up in %ld min, continue?"
msgstr "Laiendusmoodul %s ärkab %ld minuti pärast, jätkata?" msgstr "Laiendusmoodul %s ärkab %ld minuti pärast, jätkata?"
msgid "Editing - restart anyway?" msgid "Editing - restart anyway?"
msgstr "Redigeerimine aktiivne - taaskäivitada?" msgstr "Redigeerimine aktiivne - restart?"
msgid "Recording - restart anyway?" msgid "Recording - restart anyway?"
msgstr "Salvestamine aktiivne - restart?" msgstr "Salvestamine aktiivne - restart?"

View File

@ -873,14 +873,14 @@ msgstr "Muokkaus aloitettu"
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Muokkaus on jo käynnissä!" msgstr "Muokkaus on jo käynnissä!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrstuvwxyzåäö0123456789-.#~,/_@" msgstr " abcdefghijklmnopqrstuvwxyzåäö0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "kyllä" msgstr "kyllä"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabcäå2\tdef3\tghi4\tjkl5\tmnoö6\tpqrs7\ttuv8\twxyz9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcäå2\tdef3\tghi4\tjkl5\tmnoö6\tpqrs7\ttuv8\twxyz9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@ -7,15 +7,16 @@
# Nicolas Huillard <nhuillard@e-dition.fr>, 2005 # Nicolas Huillard <nhuillard@e-dition.fr>, 2005
# Pierre Briec <pbriec@free.fr>, 2006 # Pierre Briec <pbriec@free.fr>, 2006
# Bruno Roussel <bruno.roussel@free.fr>, 2007 # Bruno Roussel <bruno.roussel@free.fr>, 2007
# Michael Nival <mnival@club-internet.fr>, 2007
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.5.7\n" "Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
"POT-Creation-Date: 2007-10-13 11:29+0200\n" "POT-Creation-Date: 2007-10-13 11:29+0200\n"
"PO-Revision-Date: 2007-08-17 13:45+0200\n" "PO-Revision-Date: 2007-10-18 16:12+0100\n"
"Last-Translator: Bruno Roussel <bruno.roussel@free.fr>\n" "Last-Translator: Michael Nival <mnival@club-internet.fr>\n"
"Language-Team: <vdr@linuxtv.org>\n" "Language-Team: <vdr@linuxtv.org>\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"
@ -171,7 +172,7 @@ msgid "Key$Audio"
msgstr "Audio" msgstr "Audio"
msgid "Key$Subtitles" msgid "Key$Subtitles"
msgstr "" msgstr "Sous-Titres"
msgid "Key$Schedule" msgid "Key$Schedule"
msgstr "Programmes" msgstr "Programmes"
@ -258,10 +259,10 @@ msgid "Dpid2"
msgstr "PID AC3 (2)" msgstr "PID AC3 (2)"
msgid "Spid1" msgid "Spid1"
msgstr "" msgstr "Sous-Titre (1)"
msgid "Spid2" msgid "Spid2"
msgstr "" msgstr "Sous-Titre (2)"
msgid "Tpid" msgid "Tpid"
msgstr "PID Télétexte" msgstr "PID Télétexte"
@ -632,22 +633,22 @@ msgid "Setup.DVB$Audio language"
msgstr "Langue audio" msgstr "Langue audio"
msgid "Setup.DVB$Display subtitles" msgid "Setup.DVB$Display subtitles"
msgstr "" msgstr "Afficher les Sous-Titres"
msgid "Setup.DVB$Subtitle languages" msgid "Setup.DVB$Subtitle languages"
msgstr "" msgstr "Langues des Sous-Titres"
msgid "Setup.DVB$Subtitle language" msgid "Setup.DVB$Subtitle language"
msgstr "" msgstr "Langue de Sous-Titre"
msgid "Setup.DVB$Subtitle offset" msgid "Setup.DVB$Subtitle offset"
msgstr "" msgstr "Offset du Sous-Titre"
msgid "Setup.DVB$Subtitle foreground transparency" msgid "Setup.DVB$Subtitle foreground transparency"
msgstr "" msgstr "Transparence de l'avant-plan"
msgid "Setup.DVB$Subtitle background transparency" msgid "Setup.DVB$Subtitle background transparency"
msgstr "" msgstr "Transparence du fond"
msgid "LNB" msgid "LNB"
msgstr "LNB" msgstr "LNB"
@ -842,13 +843,13 @@ msgid "No audio available!"
msgstr "Pas d'audio disponible !" msgstr "Pas d'audio disponible !"
msgid "No subtitles" msgid "No subtitles"
msgstr "" msgstr "Pas de Sous-Titres"
msgid "Button$Subtitles" msgid "Button$Subtitles"
msgstr "" msgstr "Sous-Titres"
msgid "No subtitles available!" msgid "No subtitles available!"
msgstr "" msgstr "Pas de Sous-Titres disponible !"
msgid "Not enough disk space to start recording!" msgid "Not enough disk space to start recording!"
msgstr "Espace disque insuffisant pour démarrer l'enregistrement !" msgstr "Espace disque insuffisant pour démarrer l'enregistrement !"
@ -875,14 +876,14 @@ msgstr "Op
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Montage déjà en cours !" msgstr "Montage déjà en cours !"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " aàbcçdeéèêfghiîjklmnoôpqrstuùûvwxyz0123456789-.#~,/_@" msgstr " aàbcçdeéèêfghiîjklmnoôpqrstuùûvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "oui" msgstr "oui"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabcàâç2\tdeféèê3\tghiîï4\tjkl5\tmnoô6\tpqrs7\ttuvù8\twxyz9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcàâç2\tdeféèê3\tghiîï4\tjkl5\tmnoô6\tpqrs7\ttuvù8\twxyz9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@ -871,13 +871,13 @@ msgstr "Rezanje je zapo
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Ureðivanje je veæ aktivirano!" msgstr "Ureðivanje je veæ aktivirano!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcèædðefghijklmnopqrs¹tuvwxyz¾0123456789-.#~,/_@" msgstr " abcèædðefghijklmnopqrs¹tuvwxyz¾0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "da" msgstr "da"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr "" msgstr ""
msgid "Button$ABC/abc" msgid "Button$ABC/abc"

View File

@ -872,14 +872,14 @@ msgstr "V
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "A vágás már aktivált!" msgstr "A vágás már aktivált!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " aábcdeéfghiíjklmnoóöõpqrstuúüûvwxyz0123456789-.#~,/_@" msgstr " aábcdeéfghiíjklmnoóöõpqrstuúüûvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "igen" msgstr "igen"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\taábc2\tdeéf3\tghií4\tjkl5\tmnoóöõ6\tpqrs7\ttuúüûv8\twxyz9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\taábc2\tdeéf3\tghií4\tjkl5\tmnoóöõ6\tpqrs7\ttuúüûv8\twxyz9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@ -11,9 +11,9 @@ msgstr ""
"Project-Id-Version: VDR 1.5.7\n" "Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
"POT-Creation-Date: 2007-10-13 11:29+0200\n" "POT-Creation-Date: 2007-10-13 11:29+0200\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n" "PO-Revision-Date: 2007-10-16 02:15+0100\n"
"Last-Translator: Sean Carlos <seanc@libero.it>\n" "Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: <vdr@linuxtv.org>\n" "Language-Team: <vdr@linuxtv.org>\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"
@ -169,7 +169,7 @@ msgid "Key$Audio"
msgstr "Audio" msgstr "Audio"
msgid "Key$Subtitles" msgid "Key$Subtitles"
msgstr "" msgstr "Key$Sottotitoli"
msgid "Key$Schedule" msgid "Key$Schedule"
msgstr "Programmi" msgstr "Programmi"
@ -256,10 +256,10 @@ msgid "Dpid2"
msgstr "PID AC3 (2)" msgstr "PID AC3 (2)"
msgid "Spid1" msgid "Spid1"
msgstr "" msgstr "Spid1"
msgid "Spid2" msgid "Spid2"
msgstr "" msgstr "Spid2"
msgid "Tpid" msgid "Tpid"
msgstr "PID Teletext" msgstr "PID Teletext"
@ -630,22 +630,22 @@ msgid "Setup.DVB$Audio language"
msgstr "Lingua per l'audio" msgstr "Lingua per l'audio"
msgid "Setup.DVB$Display subtitles" msgid "Setup.DVB$Display subtitles"
msgstr "" msgstr "Setup.DVB$Mostra sottotitoli"
msgid "Setup.DVB$Subtitle languages" msgid "Setup.DVB$Subtitle languages"
msgstr "" msgstr "Setup.DVB$Lingue sottotitoli"
msgid "Setup.DVB$Subtitle language" msgid "Setup.DVB$Subtitle language"
msgstr "" msgstr "Setup.DVB$Lingua sottotitoli"
msgid "Setup.DVB$Subtitle offset" msgid "Setup.DVB$Subtitle offset"
msgstr "" msgstr "Setup.DVB$Posizione sottotitolo"
msgid "Setup.DVB$Subtitle foreground transparency" msgid "Setup.DVB$Subtitle foreground transparency"
msgstr "" msgstr "Setup.DVB$Trasparenza primo piano sottotitoli"
msgid "Setup.DVB$Subtitle background transparency" msgid "Setup.DVB$Subtitle background transparency"
msgstr "" msgstr "Setup.DVB$Trasparenza sfondo sottotitoli"
msgid "LNB" msgid "LNB"
msgstr "LNB" msgstr "LNB"
@ -840,13 +840,13 @@ msgid "No audio available!"
msgstr "Nessun audio disponibile!" msgstr "Nessun audio disponibile!"
msgid "No subtitles" msgid "No subtitles"
msgstr "" msgstr "Nessun sottotitolo"
msgid "Button$Subtitles" msgid "Button$Subtitles"
msgstr "" msgstr "Button$Sottotitoli"
msgid "No subtitles available!" msgid "No subtitles available!"
msgstr "" msgstr "Nessun sottotitolo disponibile!"
msgid "Not enough disk space to start recording!" msgid "Not enough disk space to start recording!"
msgstr "Spazio su disco insufficiente per registrare!" msgstr "Spazio su disco insufficiente per registrare!"
@ -873,14 +873,14 @@ msgstr "Processo di modifica iniziato"
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Processo di modifica già attivo!" msgstr "Processo di modifica già attivo!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " aáàbcdeéèfghiìîjklmnoòpqrstuùvwxyz0123456789-.#~,/_@" msgstr " aáàbcdeéèfghiìîjklmnoòpqrstuùvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "sì" msgstr "sì"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\taàbc2\tdeèf3\tghiì4\tjkl5\tmnoò6\tpqrs7\ttuùv8\twxyz9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\taàbc2\tdeèf3\tghiì4\tjkl5\tmnoò6\tpqrs7\ttuùv8\twxyz9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@ -872,13 +872,13 @@ msgstr "Bewerken is gestart"
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Bewerken is al actief!" msgstr "Bewerken is al actief!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@áäàïóöòúüù" msgstr " abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&áäàïóöòúüù"
msgid "yes" msgid "yes"
msgstr "ja" msgstr "ja"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr "" msgstr ""
msgid "Button$ABC/abc" msgid "Button$ABC/abc"

View File

@ -871,13 +871,13 @@ msgstr "Redigeringsprosess startet"
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Redigeringsprosessen er allerede aktiv!" msgstr "Redigeringsprosessen er allerede aktiv!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr "" msgstr ""
msgid "yes" msgid "yes"
msgstr "ja" msgstr "ja"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr "" msgstr ""
msgid "Button$ABC/abc" msgid "Button$ABC/abc"

View File

@ -870,14 +870,14 @@ msgstr "Proces edycji rozpocz
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Proces edycji jest ju¿ aktywny!" msgstr "Proces edycji jest ju¿ aktywny!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " a±bcædeêfghijkl³mnñoópqrs¶tuvwxyz¼¿0123456789-.#~,/_@" msgstr " a±bcædeêfghijkl³mnñoópqrs¶tuvwxyz¼¿0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "tak" msgstr "tak"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabc2±æ\tdef3ê\tghi4\tjkl5³\tmno6ñó\tpqrs7¶\ttuv8\twxyz9¼¿" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2±æ\tdef3ê\tghi4\tjkl5³\tmno6ñó\tpqrs7¶\ttuv8\twxyz9¼¿"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@ -870,13 +870,13 @@ msgstr "Processo de modifica
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Processo de modificação já activo!" msgstr "Processo de modificação já activo!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr "" msgstr ""
msgid "yes" msgid "yes"
msgstr "sim" msgstr "sim"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr "" msgstr ""
msgid "Button$ABC/abc" msgid "Button$ABC/abc"

View File

@ -871,14 +871,14 @@ msgstr "Montajul
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Montajul înregistrãrii este deja activ!" msgstr "Montajul înregistrãrii este deja activ!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " aãâbcdefghiîjklmnopqrsºtþuvwxyz0123456789-.#~,/_@" msgstr " aãâbcdefghiîjklmnopqrsºtþuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "da" msgstr "da"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\taãâbc2\tdef3\tghiî4\tjkl5\tmno6\tpqrsº7\ttþuv8\twxyz9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\taãâbc2\tdef3\tghiî4\tjkl5\tmno6\tpqrsº7\ttþuv8\twxyz9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@ -870,14 +870,14 @@ msgstr "
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "¿àÞæÕáá ÒØÔÕÞÜÞÝâÐÖÐ ãÖÕ ×ÐßãéÕÝ!" msgstr "¿àÞæÕáá ÒØÔÕÞÜÞÝâÐÖÐ ãÖÕ ×ÐßãéÕÝ!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrstuvwxyzÐÑÒÓÔÕñÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìîï0123456789-.#~,/_@" msgstr " abcdefghijklmnopqrstuvwxyzÐÑÒÓÔÕñÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìîï0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "ÔÐ" msgstr "ÔÐ"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabcÐÑÒÓ2\tdefÔÕñÖ×3\tghiØÙÚÛ4\tjklÜÝÞ5\tmnoßàá6\tpqrsâãäå7\ttuvæçèéê8\twxyzëìíîï9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcÐÑÒÓ2\tdefÔÕñÖ×3\tghiØÙÚÛ4\tjklÜÝÞ5\tmnoßàá6\tpqrsâãäå7\ttuvæçèéê8\twxyzëìíîï9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "°±²/ÐÑÒ" msgstr "°±²/ÐÑÒ"

View File

@ -871,14 +871,14 @@ msgstr "Urejanje se je za
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Urejanje je ¾e aktivno!" msgstr "Urejanje je ¾e aktivno!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcèdefghijklmnopqrs¹tuvwxyz¾0123456789-.#~,/_@" msgstr " abcèdefghijklmnopqrs¹tuvwxyz¾0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "da" msgstr "da"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabcè2\tdef3\tghi4\tjkl5\tmno6\tpqrs¹7\ttuv8\twxyz¾9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcè2\tdef3\tghi4\tjkl5\tmno6\tpqrs¹7\ttuv8\twxyz¾9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@ -871,14 +871,14 @@ msgstr "Redigeringen startar"
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Redigeringen är redan aktiv!" msgstr "Redigeringen är redan aktiv!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrstuvwxyzåäö0123456789-.#~,/_@" msgstr " abcdefghijklmnopqrstuvwxyzåäö0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "ja" msgstr "ja"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabcåä2\tdef3\tghi4\tjkl5\tmnoö6\tpqrs7\ttuv8\twxyz" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcåä2\tdef3\tghi4\tjkl5\tmnoö6\tpqrs7\ttuv8\twxyz"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@ -870,14 +870,14 @@ msgstr "Kesim ba
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Kesim henüz aktif!" msgstr "Kesim henüz aktif!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcçdefgðhýijklmnoöprsþtuüvyz0123456789-.#~,/_@" msgstr " abcçdefgðhýijklmnoöprsþtuüvyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "evet" msgstr "evet"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabcç2\tdef3\tgðhýi4\tjkl5\tmnoö6\tprsþ7\ttuüv8\tyz9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcç2\tdef3\tgðhýi4\tjkl5\tmnoö6\tprsþ7\ttuüv8\tyz9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

999
po/uk_UA.po Normal file
View File

@ -0,0 +1,999 @@
# VDR language source file.
# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
# This file is distributed under the same license as the VDR package.
# Yarema Aka Knedlyk <yupadmin@gmail.com>, 2007
#
msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.10\n"
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
"POT-Creation-Date: 2007-11-01 11:36+0100\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Yarema Aka Knedlyk <yupadmin@gmail.com>\n"
"Language-Team: <vdr@linuxtv.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-5\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "*** Invalid Channel ***"
msgstr "*** ½ÕßàÐÒØÛìÝØÙ ÚÐÝÐÛ ***"
msgid "Channel not available!"
msgstr "ºÐÝÐÛ ÝÕÔÞáâãßÝØÙ!"
msgid "Can't start Transfer Mode!"
msgstr "½ÕÜÞÖÛØÒÞ ÒÚÛîçØâØ àÕÖØÜ ßàÞßãáÚã!"
msgid "Starting EPG scan"
msgstr "¿ÞçØÝÐî EPG-áÚÐÝãÒÐÝÝï"
msgid "No title"
msgstr "±Õ× ÝÐ×ÒØ"
#. TRANSLATORS: The name of the language, as written natively
msgid "LanguageName$English"
msgstr "ÃÚàÐ÷ÝáìÚÐ"
#. TRANSLATORS: The 3-letter code of the language
msgid "LanguageCode$eng"
msgstr "ukr"
msgid "Phase 1: Detecting RC code type"
msgstr "ºàÞÚ 1: ²Ø×ÝÐçÕÝÝï âØßã ÚÞÔã ßãÛìâÐ"
msgid "Press any key on the RC unit"
msgstr "½ÐâØáÝöâì ÑãÔì-ïÚã ÚÝÞßÚã ÝÐ ßãÛìâö"
msgid "RC code detected!"
msgstr "²Ø×ÝÐçÕÝÞ ÚÞÔ ßãÛìâÐ!"
msgid "Do not press any key..."
msgstr "½Õ ÝÐâØáÚÐÙâÕ ÚÝÞßÚØ..."
msgid "Phase 2: Learning specific key codes"
msgstr "ºàÞÚ 2: ¿àØßØáãÒÐÝÝï ÚÞÔöÒ ÔÛï ÒöÔßÞÒöÔÝØå ÚÝÞßÞÚ"
#, c-format
msgid "Press key for '%s'"
msgstr "½ÐâØáÝöâì ÚÝÞßÚã '%s'"
msgid "Press 'Up' to confirm"
msgstr "½ÐâØáÝöâì '²ÒÕàå' ÔÛï ßöÔâÒÕàÔÖÕÝÝï"
msgid "Press 'Down' to continue"
msgstr "½ÐâØáÝöâì '²ÝØ×' ÔÛï ßàÞÔÞÒÖÕÝÝï"
msgid "(press 'Up' to go back)"
msgstr "(½ÐâØáÝöâì '²ÒÕàå' ÔÛï ßÞÒÕàÝÕÝÝï)"
msgid "(press 'Down' to end key definition)"
msgstr "(½ÐâØáÝöâì '²ÝØ×' ÔÛï ×ÐÚöÝçÕÝÝï ÝÐáâàÞÙÚØ ßãÛìâÐ)"
msgid "(press 'Menu' to skip this key)"
msgstr "(½ÐâØáÝöâì '¼ÕÝî' éÞÑ ßàÞßãáâØâØ ÚÝÞßÚã)"
msgid "Learning Remote Control Keys"
msgstr "½ÐÒçÐÝÝï ßãÛìâÐ"
msgid "Phase 3: Saving key codes"
msgstr "ºàÞÚ 3: ·ÐßÐÜ'ïâÞÒãÒÐÝÝï ÚÞÔöÒ ÚÝÞßÞÚ"
msgid "Press 'Up' to save, 'Down' to cancel"
msgstr "½ÐâØáÝöâì '²ÒÕàå' ÔÛï ×ÐÚöÝçÕÝÝï, '²ÝØ×' ÔÛï ÒöÔÜÞÒØ"
msgid "Key$Up"
msgstr "²ÒÕàå"
msgid "Key$Down"
msgstr "²ÝØ×"
msgid "Key$Menu"
msgstr "¼ÕÝî"
msgid "Key$Ok"
msgstr "Ok"
msgid "Key$Back"
msgstr "½Ð×ÐÔ"
msgid "Key$Left"
msgstr "½ÐÛöÒÞ"
msgid "Key$Right"
msgstr "½ÐßàÐÒÞ"
msgid "Key$Red"
msgstr "ÇÕàÒÞÝÐ"
msgid "Key$Green"
msgstr "·ÕÛÕÝÐ"
msgid "Key$Yellow"
msgstr "¶ÞÒâÐ"
msgid "Key$Blue"
msgstr "ÁØÝï"
msgid "Key$Info"
msgstr "¦ÝäÞ"
msgid "Key$Play"
msgstr "¿àÞÓàÐÒÐÝÝï"
msgid "Key$Pause"
msgstr "¿Ðã×Ð"
msgid "Key$Stop"
msgstr "ÁâÞß"
msgid "Key$Record"
msgstr "·ÐßØá"
msgid "Key$FastFwd"
msgstr "¿àÞÚàãâÚÐ ÒßÕàÕÔ"
msgid "Key$FastRew"
msgstr "¿àÞÚàãâÚÐ ÝÐ×ÐÔ"
msgid "Key$Next"
msgstr "²ßÕàÕÔ"
msgid "Key$Prev"
msgstr "½Ð×ÐÔ"
msgid "Key$Power"
msgstr "²ØÚÛîçØâØ"
msgid "Key$Channel+"
msgstr "ºÐÝÐÛ +"
msgid "Key$Channel-"
msgstr "ºÐÝÐÛ -"
msgid "Key$PrevChannel"
msgstr "¿ÞßÕàÕÔÝöÙ ÚÐÝÐÛ"
msgid "Key$Volume+"
msgstr "³ãçÝöáâì +"
msgid "Key$Volume-"
msgstr "³ãçÝöáâì -"
msgid "Key$Mute"
msgstr "²ØÚÛîçØâØ ×ÒãÚ"
msgid "Key$Audio"
msgstr "¼ÞÒÐ"
msgid "Key$Subtitles"
msgstr "ÁãÑâØâàØ"
msgid "Key$Schedule"
msgstr "ÂÕÛÕÓöÔ"
msgid "Key$Channels"
msgstr "ºÐÝÐÛØ"
msgid "Key$Timers"
msgstr "ÂÐÙÜÕàØ"
msgid "Key$Recordings"
msgstr "·ÐßØáØ"
msgid "Key$Setup"
msgstr "½ÐÛÐèâãÒÐÝÝï"
msgid "Key$Commands"
msgstr "ºÞÜÐÝÔØ"
msgid "Key$User1"
msgstr ""
msgid "Key$User2"
msgstr ""
msgid "Key$User3"
msgstr ""
msgid "Key$User4"
msgstr ""
msgid "Key$User5"
msgstr ""
msgid "Key$User6"
msgstr ""
msgid "Key$User7"
msgstr ""
msgid "Key$User8"
msgstr ""
msgid "Key$User9"
msgstr ""
msgid "Free To Air"
msgstr "FTA (ÝÕ×ÐÚÞÔÞÒÐÝÞ)"
msgid "encrypted"
msgstr "×ÐÚÞÔÞÒÐÝÞ"
msgid "auto"
msgstr "ÐÒâÞ"
msgid "Edit channel"
msgstr "ÀÕÔÐÚâãÒÐÝÝï ÚÐÝÐÛã"
msgid "Name"
msgstr "½Ð×ÒÐ"
msgid "Source"
msgstr "´ÖÕàÕÛÞ"
msgid "Frequency"
msgstr "ÇÐáâÞâÐ"
msgid "Vpid"
msgstr "Vpid (ÒöÔÕÞ)"
msgid "Ppid"
msgstr "Ppid"
msgid "Apid1"
msgstr "Apid1 (ÐãÔöÞ 1)"
msgid "Apid2"
msgstr "Apid2 (ÐãÔöÞ 2)"
msgid "Dpid1"
msgstr "Dpid1 (AC3 1)"
msgid "Dpid2"
msgstr "Dpid2 (AC3 2)"
msgid "Spid1"
msgstr ""
msgid "Spid2"
msgstr ""
msgid "Tpid"
msgstr "Tpid (âÕÛÕâÕÚáâ)"
msgid "CA"
msgstr "CA (ÔÕÚÞÔÕà)"
msgid "Sid"
msgstr "Sid"
msgid "Polarization"
msgstr "¿ÞÛïàØ×Ðæöï"
msgid "Srate"
msgstr "ÁØÜÒ. èÒØÔÚöáâì"
msgid "Inversion"
msgstr "¦ÝÒÕàáöï"
msgid "off"
msgstr "ÒØÚÛ"
msgid "CoderateH"
msgstr "CoderateH"
msgid "none"
msgstr "ÝöçÞÓÞ"
msgid "CoderateL"
msgstr "CoderateL"
msgid "Modulation"
msgstr "¼ÞÔãÛïæöï"
msgid "Bandwidth"
msgstr "´öÐßÐ×ÞÝ"
msgid "Transmission"
msgstr "¿ÕàÕÔÐçÐ"
msgid "Guard"
msgstr "·ÐåØáâ"
msgid "Hierarchy"
msgstr "¦ôàÐàåöï"
msgid "Channel settings are not unique!"
msgstr "½ÐáâàÞÙÚØ ÚÐÝÐÛã ÝÕ ôÔØÝö!"
msgid "Channels"
msgstr "ºÐÝÐÛØ"
msgid "Button$Edit"
msgstr "ÀÕÔÐÚâãÒÐâØ"
msgid "Button$New"
msgstr "´ÞÔÐâØ"
msgid "Button$Delete"
msgstr "²ØÔÐÛØâØ"
msgid "Button$Mark"
msgstr "¿ÕàÕÜöáâØâØ"
msgid "Channel is being used by a timer!"
msgstr "ºÐÝÐÛ ×ÐÝïâØÙ âÐÙÜÕàÞÜ!"
msgid "Delete channel?"
msgstr "²ØÔÐÛØâØ ÚÐÝÐÛ?"
msgid "Edit timer"
msgstr "½ÐÛÐèâãÒÐÝÝï âÐÙÜÕàÐ"
msgid "Active"
msgstr "°ÚâØÒÞÒÐÝÞ"
msgid "Channel"
msgstr "ºÐÝÐÛ"
msgid "Day"
msgstr "´ÕÝì"
msgid "Start"
msgstr "¿ÞçÐâÞÚ"
msgid "Stop"
msgstr "ºöÝÕæì"
msgid "VPS"
msgstr "VPS ßÞßàÐÒÚÐ"
msgid "Priority"
msgstr "¿àöÞàØâÕâ"
msgid "Lifetime"
msgstr "ÁâàÞÚ ×ÑÕàöÓÐÝÝï"
msgid "File"
msgstr "ÄÐÙÛ"
msgid "First day"
msgstr "¿ÕàèØÙ ÔÕÝì"
msgid "Timers"
msgstr "ÂÐÙÜÕàØ"
msgid "Button$On/Off"
msgstr "²ÚÛ/²ØÚÛ"
msgid "Button$Info"
msgstr "¦ÝäÞ"
msgid "Delete timer?"
msgstr "²ØÔÐÛØâØ âÐÙÜÕà?"
msgid "Timer still recording - really delete?"
msgstr "¹ÔÕ ×ÐßØá ßÞ âÐÙÜÕàã - ÔöÙáÝÞ ÒØÔÐÛØâØ?"
msgid "Event"
msgstr "¿ÕàÕÔÐçÐ"
msgid "Button$Timer"
msgstr "ÂÐÙÜÕà"
msgid "Button$Record"
msgstr "·ÐßØá"
msgid "Button$Switch"
msgstr "¿ÕàÕÚÛîçØâØ"
msgid "What's on now?"
msgstr "·ÐàÐ× Ò Õäöàö:"
msgid "What's on next?"
msgstr "´ÐÛö Ò ßàÞÓàÐÜö:"
msgid "Button$Next"
msgstr "´ÐÛö"
msgid "Button$Now"
msgstr "·ÐàÐ×"
msgid "Button$Schedule"
msgstr "¿àÞÓàÐÜÐ"
msgid "Can't switch channel!"
msgstr "½ÕÜÞÖÛØÒÞ ßÕàÕÚÛîçØâØ ÚÐÝÐÛ!"
#, c-format
msgid "Schedule - %s"
msgstr "¿àÞÓàÐÜÐ - %s"
#, c-format
msgid "This event - %s"
msgstr "Æï ßÕàÕÔÐçÐ - %s"
msgid "This event - all channels"
msgstr "Æï ßÕàÕÔÐçÐ - Òáö ÚÐÝÐÛØ"
msgid "All events - all channels"
msgstr "²áö ßÕàÕÔÐçö - Òáö ÚÐÝÐÛØ"
#, c-format
msgid "Please enter %d digits!"
msgstr "½ÐâØáÝöâì %d æØäàØ"
msgid "CAM not responding!"
msgstr "CAM ÝÕ ÒöÔßÞÒöÔÐô"
msgid "Recording info"
msgstr "¿àÞ ×ÐßØá"
msgid "Button$Play"
msgstr "¿àÞÓàÐÒÐâØ"
msgid "Button$Rewind"
msgstr "½Ð×ÐÔ"
msgid "Recordings"
msgstr "·ÐßØáØ"
msgid "Button$Open"
msgstr "²öÔÚàØâØ"
msgid "Commands"
msgstr "ºÞÜÐÝÔØ"
msgid "Error while accessing recording!"
msgstr "¿ÞÜØÛÚÐ ÔÞáâãßã ÔÞ ×ÐßØáã!"
msgid "Delete recording?"
msgstr "²ØâÕàâØ ×ÐßØá?"
msgid "Error while deleting recording!"
msgstr "¿ÞÜØÛÚÐ ÒØÔÐÛÕÝÝï ×ÐßØáã!"
msgid "Recording commands"
msgstr "ºÞÜÐÝÔØ ×ÐßØáã"
msgid "never"
msgstr "ÝöÚÞÛØ"
msgid "skin dependent"
msgstr "×ÓöÔÝÞ × áâØÛÕÜ"
msgid "always"
msgstr "×ÐÒÖÔØ"
msgid "OSD"
msgstr "¼ÕÝî"
msgid "Setup.OSD$Language"
msgstr "¼ÞÒÐ"
msgid "Setup.OSD$Skin"
msgstr "ÁâØÛì"
msgid "Setup.OSD$Theme"
msgstr "ÂÕÜÐ"
msgid "Setup.OSD$Left"
msgstr "²öÔáâãß ×ÛöÒÐ"
msgid "Setup.OSD$Top"
msgstr "²öÔáâãß ×ÒÕàåã"
msgid "Setup.OSD$Width"
msgstr "ÈØàØÝÐ"
msgid "Setup.OSD$Height"
msgstr "²ØáÞâÐ"
msgid "Setup.OSD$Message time (s)"
msgstr "ÂàØÒÐÛöáâì ßÞÚÐ×ã ßÞÒöÔÞÜÛÕÝì (áÕÚ)"
msgid "Setup.OSD$Use small font"
msgstr "²ØÚÞàØáâÞÒãÒÐâØ ÜÐÛØÙ èàØäâ"
msgid "Setup.OSD$Anti-alias"
msgstr "·ÓÛÐÔÖØÒÐÝÝï èàØäâöÒ"
msgid "Setup.OSD$Default font"
msgstr "ÁâÐÝÔÐàâÝØÙ äÞÝâ"
msgid "Setup.OSD$Small font"
msgstr "¼ÐÛØÙ äÞÝâ"
msgid "Setup.OSD$Fixed font"
msgstr "ÄöÚáÞÒÐÝØÙ äÞÝâ"
msgid "Setup.OSD$Default font size (pixel)"
msgstr "ÀÐ×Üöà äÞÝâÐ ÔÛï ÜÕÝî (pixel)"
msgid "Setup.OSD$Small font size (pixel)"
msgstr "ÀÐ×Üöà ÜÐÛÞÓÞ äÞÝâÐ (pixel)"
msgid "Setup.OSD$Fixed font size (pixel)"
msgstr "ÀÐ×Üöà äöÚáÞÒÐÝÞÓÞ äÞÝâÐ (pixel)"
msgid "Setup.OSD$Channel info position"
msgstr "¿ÞÛÞÖÕÝÝï ÒöÚÝÐ öÝäÞàÜÐæö÷ ßàÞ ÚÐÝÐÛ"
msgid "bottom"
msgstr "ÒÝØ×ã"
msgid "top"
msgstr "ÒÒÕàåã"
msgid "Setup.OSD$Channel info time (s)"
msgstr "¿ÞÚÐ× öÝäÞàÜÐæö÷ ßàÞ ÚÐÝÐÛ (áÕÚ)"
msgid "Setup.OSD$Info on channel switch"
msgstr "¿ÞÚÐ×ãÒÐâØ öÝäÞàÜÐæöî ßàÞ ÚÐÝÐÛ"
msgid "Setup.OSD$Timeout requested channel info"
msgstr "¦ÝäÞàÜÐæöî ßàÞ ÚÐÝÐÛ ×ÐÚàØâØ"
msgid "Setup.OSD$Scroll pages"
msgstr "¿àÞÚàãâÚÐ áâÞàöÝÞÚ ÜÕÝî"
msgid "Setup.OSD$Scroll wraps"
msgstr "ÆØÚÛöçÝÐ ßàÞÚàãâÚÐ"
msgid "Setup.OSD$Menu key closes"
msgstr "ºÝÞßÚã ¼ÕÝî ×ÐÚàØâØ"
msgid "Setup.OSD$Recording directories"
msgstr "ºÐâÐÛÞÓØ ×ÑÕàöÓÐÝÝï ×ÐßØáöÒ"
msgid "EPG"
msgstr "ÂÕÛÕÓöÔ"
msgid "Button$Scan"
msgstr "ÁÚÐÝãàÞÒÐâØ"
msgid "Setup.EPG$EPG scan timeout (h)"
msgstr "·ÐâàØÜÚÐ áÚÐÝãÒÐÝÝï âÕÛÕÓöÔÐ (ç)"
msgid "Setup.EPG$EPG bugfix level"
msgstr "ÀöÒÕÝì ÚÞàÕÚæö÷ ßÞÜØÛÞÚ"
msgid "Setup.EPG$EPG linger time (min)"
msgstr "·ÑÕàöÓÐÝÝï ×ÐáâÐàöÛØå ÔÐÝØå (åÒ)"
msgid "Setup.EPG$Set system time"
msgstr "²âÐÝÞÒØâØ áØáâÕÜØÙ çÐá"
msgid "Setup.EPG$Use time from transponder"
msgstr "²ØÚÞàØáâÐâØ çÐá âàÐÝáßÞÝÔÕàÐ"
#. TRANSLATORS: note the plural!
msgid "Setup.EPG$Preferred languages"
msgstr "±ÐÖÐÝö ÜÞÒØ (âÕÛÕÓöÔ)"
#. TRANSLATORS: note the singular!
msgid "Setup.EPG$Preferred language"
msgstr "²ØÑàÐÝÞ"
msgid "pan&scan"
msgstr "ßÐÝÞàÐÜãÒÐâØ"
msgid "letterbox"
msgstr "×ÜÕÝèãÒÐâØ"
msgid "center cut out"
msgstr "ÞÑàö×ÐâØ ×ÑÞÚã"
msgid "no"
msgstr "Ýö"
msgid "names only"
msgstr "âöÛìÚØ ÝÐ×ÒØ"
msgid "PIDs only"
msgstr "ÂöÛìÚØ PIDØ"
msgid "names and PIDs"
msgstr "ÝÐ×ÒØ ö PIDØ"
msgid "add new channels"
msgstr "ÔÞÔÐâØ ÝÞÒö ÚÐÝÐÛØ"
msgid "add new transponders"
msgstr "ÔÞÔÐâØ ÝÞÒö âàÐÝáßÞÝÔÕàØ"
msgid "DVB"
msgstr "DVB"
msgid "Setup.DVB$Primary DVB interface"
msgstr "¾áÝÞÒÝØÙ DVB-ßàØáâàöÙ"
msgid "Setup.DVB$Video format"
msgstr "ÄÞàÜÐâ ÒöÔÕÞ"
msgid "Setup.DVB$Video display format"
msgstr "ÈØàÞÚÞÕÚàÐÝÕ ×ÞÑàÐÖÕÝÝï"
msgid "Setup.DVB$Use Dolby Digital"
msgstr "²ÚÛîçØâØ Dolby Digital"
msgid "Setup.DVB$Update channels"
msgstr "¾ÝÞÒÛîÒÐâØ ÝÐáâàÞÙÚØ ÚÐÝÐÛöÒ"
msgid "Setup.DVB$Audio languages"
msgstr "±ÐÖÐÝö ÜÞÒØ (×ÒãÚ)"
msgid "Setup.DVB$Audio language"
msgstr "²ØÑàÐÝÞ"
msgid "Setup.DVB$Display subtitles"
msgstr "¿ÞÚÐ×ãÒÐâØ áãÑâØâàØ"
msgid "Setup.DVB$Subtitle languages"
msgstr "¼ÞÒØ áãÑâØâàöÒ"
msgid "Setup.DVB$Subtitle language"
msgstr "¼ÞÒÐ áãÑâØâàöÒ"
msgid "Setup.DVB$Subtitle offset"
msgstr "²öÔáâãß áãÑâØâàöÒ"
msgid "Setup.DVB$Subtitle foreground transparency"
msgstr ""
msgid "Setup.DVB$Subtitle background transparency"
msgstr ""
msgid "LNB"
msgstr "ºÞÝÒÕàâÕà"
msgid "Setup.LNB$Use DiSEqC"
msgstr "²ØÚÞàØáâÞÒãÒÐâØ DiSEqC"
msgid "Setup.LNB$SLOF (MHz)"
msgstr "ÇÐáâÞâÐ ßÕàÕÚÛîçÐÝÝï (SLOF) (¼³æ)"
msgid "Setup.LNB$Low LNB frequency (MHz)"
msgstr "½ØÖÝï çÐáâÞâÐ ÚÞÝÒÕàâÕàÐ (¼³æ)"
msgid "Setup.LNB$High LNB frequency (MHz)"
msgstr "²ÕàåÝï çÐáâÞâÐ ÚÞÝÒÕàâÕàÐ (¼³æ)"
msgid "CAM reset"
msgstr "¿ÕàÕ×ÐÒÐÝâÐÖÕÝÝï CAM"
msgid "CAM present"
msgstr "CAM ßàØáãâÝöÙ"
msgid "CAM ready"
msgstr "CAM ÓÞâÞÒØÙ"
msgid "CAM"
msgstr "ÃÜÞÒÝØÙ ÔÞáâãß"
msgid "Button$Menu"
msgstr "¼ÕÝî"
msgid "Button$Reset"
msgstr "ÁÚØÝãâØ"
msgid "Opening CAM menu..."
msgstr "²öÔÚàØÒÐî ÜÕÝî ÜÞÔãÛï ãÜÞÒÝÞÓÞ ÔÞáâãßã (CAM)"
msgid "Can't open CAM menu!"
msgstr "¼ÕÝî CAM-ÜÞÔãÛï ÝÕÔÞáâãßÝÕ!"
msgid "CAM is in use - really reset?"
msgstr "CAM ÒØÚÞàØáâÞÒãôâìáï - ÔöÙáÝÞ ßÕàÕ×ÐÒÐÝâÐÖØâØ?"
msgid "Can't reset CAM!"
msgstr "¿ÞÜØÛÚÐ ßÕàÕ×ÐßãáÚã CAM-ÜÞÔãÛï!"
msgid "Recording"
msgstr "·ÐßØá"
msgid "Setup.Recording$Margin at start (min)"
msgstr "²ØßÕàÕÔÖÕÝÝï ßÞçÐâÚã ×ÐßØáã (åÒ)"
msgid "Setup.Recording$Margin at stop (min)"
msgstr "·Ðßö×ÝÕÝÝï ×ãßØÝÚØ ×ÐßØáã (åÒ)"
msgid "Setup.Recording$Primary limit"
msgstr "¼öÝ. ßàöÞàØâÕâ ×ÐåÞßÛÕÝÝï ÞáÝ. ßàØáâàÞî"
msgid "Setup.Recording$Default priority"
msgstr "¿àöÞàØâÕâ âÐÙÜÕàÐ ßÞ ×ÐÜÞÒçãÒÐÝÝî"
msgid "Setup.Recording$Default lifetime (d)"
msgstr "ÁâàÞÚ ×ÑÕàöÓÐÝÝï ×ÐßØáã ßÞ ×ÐÜÞÒçãÒÐÝÝî (Ô)"
msgid "Setup.Recording$Pause priority"
msgstr "¿àöÞàØâÕâ ÒöÔÚÛÐÔÕÝÞÓÞ ßÕàÕÓÛïÔã"
msgid "Setup.Recording$Pause lifetime (d)"
msgstr "·ÑÕàöÓÐÝÝï ÒöÔÚÛÐÔÕÝÞÓÞ ßÕàÕÓÛïÔã (Ô)"
msgid "Setup.Recording$Use episode name"
msgstr "³àãßãÒÐâØ äÐÙÛØ ßÞ Õßö×ÞÔÐå"
msgid "Setup.Recording$Use VPS"
msgstr "²ØÚÞàØáâÞÒãÒÐâØ áØÓÝÐÛØ VPS"
msgid "Setup.Recording$VPS margin (s)"
msgstr "±ãäÕàÝØÙ çÐá VPS (áÕÚ)"
msgid "Setup.Recording$Mark instant recording"
msgstr "²öÔÜöçÐâØ ×àÞÑÛÕÝö ÒàãçÝã ×ÐßØáØ"
msgid "Setup.Recording$Name instant recording"
msgstr "ÁåÕÜÐ ÝÐÙÜÕÝãÒÐÝì àãçÝØå ×ÐßØáöÒ"
msgid "Setup.Recording$Instant rec. time (min)"
msgstr "¿àÞâïÖÝöáâì àãçÝÞÓÞ ×ÐßØáã (åÒ)"
msgid "Setup.Recording$Max. video file size (MB)"
msgstr "¼ÐÚá. àÐ×Üöà ÒöÔÕÞäÐÙÛã (¼Ñ)"
msgid "Setup.Recording$Split edited files"
msgstr "´öÛØâØ ÒöÔàÕÔÐÚâÞÒÐÝö äÐÙÛØ"
msgid "Replay"
msgstr "¿ÕàÕÓÛïÔ"
msgid "Setup.Replay$Multi speed mode"
msgstr "±ÐÓÐâÞèÒØÔÚöáÝØÙ àÕÖØÜ"
msgid "Setup.Replay$Show replay mode"
msgstr "²öÞÑàÐÖÐâØ àÕÖØÜ ßÕàÕÓÛïÔã"
msgid "Setup.Replay$Resume ID"
msgstr "ID ßÕàÕÓÛïÔã"
msgid "Miscellaneous"
msgstr "Àö×ÝÕ"
msgid "Setup.Miscellaneous$Min. event timeout (min)"
msgstr "¼öÝ. çÐá ÞçöÚãÒÐÝÝï ßÞÔö÷ (åÒ)"
msgid "Setup.Miscellaneous$Min. user inactivity (min)"
msgstr "¼öÝ. çÐá ÞçöÚãÒÐÝÝï ÒÒÞÔã (åÒ)"
msgid "Setup.Miscellaneous$SVDRP timeout (s)"
msgstr "·ÐâàØÜÚÚÐ ÞÑàØÒã ×'ôÔÝÐÝÝï SVDRP (áÕÚ)"
msgid "Setup.Miscellaneous$Zap timeout (s)"
msgstr "·ÐâàØÜÚÐ ßÕàÕÚÛîçÐÝÝï ÚÐÝÐÛã (áÕÚ)"
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
msgstr "·ÐâàØÜÚÐ çÐáã ÔÛï ÒßàÞÒÐÔÖÕÝÝï ÚÐÝÐÛã (ms)"
msgid "Setup.Miscellaneous$Initial channel"
msgstr "ºÐÝÐÛ ßàØ ÒÚÛîçÐÝÝî"
msgid "Setup.Miscellaneous$as before"
msgstr "ïÚ àÐÝöèÕ"
msgid "Setup.Miscellaneous$Initial volume"
msgstr "³ãçÝöáâì ßàØ ÒÚÛîçÕÝÝö"
msgid "Plugins"
msgstr "¼ÞÔãÛö àÞ×èØàÕÝÝï"
msgid "This plugin has no setup parameters!"
msgstr "¼ÞÔãÛì ÝÕ ÜÐô ßÐàÐÜÕâàöÒ ÝÐÛÐèâãÒÐÝì!"
msgid "Setup"
msgstr "½ÐÛÐèâãÒÐÝÝï"
msgid "Restart"
msgstr "¿ÕàÕ×ÐßãáâØâØ"
msgid "Really restart?"
msgstr "´öÙáÝÞ ßÕàÕ×ÐßãáâØâØ?"
#. TRANSLATORS: note the leading and trailing blanks!
msgid " Stop recording "
msgstr " ·ãßØÝØâØ ×ÐßØá "
msgid "Schedule"
msgstr "ÂÕÛÕÓöÔ"
msgid "VDR"
msgstr "VDR"
msgid "Disk"
msgstr "´ØáÚ"
msgid "free"
msgstr "ÒöÛìÝÞ"
#. TRANSLATORS: note the leading blank!
msgid " Stop replaying"
msgstr " ·ãßØÝØâØ ßàÞÓàÐÒÐÝÝï"
msgid "Button$Audio"
msgstr "¼ÞÒÐ"
msgid "Button$Pause"
msgstr "¿Ðã×Ð"
msgid "Button$Stop"
msgstr "ÁâÞß"
msgid "Button$Resume"
msgstr "¿àÞÔÞÒÖØâØ"
#. TRANSLATORS: note the leading blank!
msgid " Cancel editing"
msgstr " ¿ÕàÕàÒÐâØ ÜÞÝâÐÖ ×ÐßØáã"
msgid "Stop recording?"
msgstr "¿àØßØÝØâØ ×ÐßØá?"
msgid "Cancel editing?"
msgstr "¿ÕàÕàÒÐâØ àÕÔÐÚâãÒÐÝÝï?"
msgid "No audio available!"
msgstr "²öÔáãâÝöÙ ×ÒãÚ!"
msgid "No subtitles"
msgstr "½ÕÜÐô áãÑâØâàöÒ"
msgid "Button$Subtitles"
msgstr "ÁãÑâØâàØ"
msgid "No subtitles available!"
msgstr "ÁãÑâØâàöÒ ÝÕÜÐô!"
msgid "Not enough disk space to start recording!"
msgstr "½ÕÔÞáâÐâÝìÞ Üöáæï ÝÐ ÔØáÚã ÔÛï ßÞçÐâÚã ×ÐßØáã"
msgid "No free DVB device to record!"
msgstr "½ÕÜÐô ÒöÛìÝÞÓÞ DVB-ßàØáâàÞî ÔÛï ×ÐßØáã!"
msgid "Pausing live video..."
msgstr "ÀÕÖØÜ ÒöÔÚÛÐÔÕÝÞÓÞ ßÕàÕÓÛïÔã..."
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "¿ÕàÕÙâØ: "
msgid "No editing marks defined!"
msgstr "½Õ ×ÐÔÐÝÞ ÜöâÞÚ ÔÛï ÜÞÝâÐÖã!"
msgid "Can't start editing process!"
msgstr "½ÕÜÞÖÛØÒÞ ßÞçÐâØ ÜÞÝâÐÖ ×ÐßØáã!"
msgid "Editing process started"
msgstr "¼ÞÝâÐÖ ×ÐßØáã ßÞçÐÒáï"
msgid "Editing process already active!"
msgstr "¿àÞæÕá ÒöÔÕÞÜÞÝâÐÖã ÒÖÕ ×ÐßãéÕÝØÙ!"
#, fuzzy
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrstuvwxyzÐÑÒÓÔÕôñÖ×Øö÷ÙÚÛÜÝÞßàáâãäåæçèéêëìîï0123456789-.#~,/_@"
msgid "yes"
msgstr "âÐÚ"
#, fuzzy
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabcÐÑÒÓ2\tdefÔÕôñÖ×3\tghiØö÷ÙÚÛ4\tjklÜÝÞ5\tmnoßàá6\tpqrsâãäå7\ttuvæçèéê8\twxyzëìíîï9"
msgid "Button$ABC/abc"
msgstr "°±²/ÐÑÒ"
msgid "Button$Overwrite"
msgstr "·ÐÜöÝÐ"
msgid "Button$Insert"
msgstr "²áâÐÒÚÐ"
msgid "Plugin"
msgstr "¼ÞÔãÛì"
msgid "Up/Dn for new location - OK to move"
msgstr "½ÐâØáÚÐÙâÕ \"²ÒÕàå\"/\"²ÝØ×\" ÔÛï ÒØÑÞàã ßÞ×Øæö÷, Ð ßÞâöÜ \"OK\""
msgid "Channel locked (recording)!"
msgstr "ºÐÝÐÛ ×ÐÑÛÞÚÞÒÐÝÞ (ÙÔÕ ×ÐßØá)!"
msgid "Low disk space!"
msgstr "½ÕÔÞáâÐâÝìÞ Üöáæï ÝÐ ÔØáÚã!"
msgid "Can't shutdown - option '-s' not given!"
msgstr "²ØÚÛîçÕÝÝÝï ÝÕÜÞÖÛØÒÕ - ÝÕ ×ÐÔÐÝÞ ßÐàÐÜÕâà '-s'!"
msgid "Editing - shut down anyway?"
msgstr "¹ÔÕ ÜÞÝâÐÖ - ÔöÙáÝÞ ÒØÚÛîçØâØ?"
msgid "Recording - shut down anyway?"
msgstr "¹ÔÕ ×ÐßØá - ÔöÙáÝÞ ÒØÚÛîçØâØ?"
#, c-format
msgid "Recording in %ld minutes, shut down anyway?"
msgstr "ÇÕàÕ× %ld åÒØÛØÝ ßÞçÝÕâìáï ×ÐßØá - ÔöÙáÝÞ ÒØÚÛîçØâØ?"
msgid "shut down anyway?"
msgstr "ÔöÙáÝÞ ÒØÚÛîçØâØ?"
#, c-format
msgid "Plugin %s wakes up in %ld min, continue?"
msgstr "Plugin %s ßàÞáÝÕâìáï çÕàÕ× %ld åÒØÛØÝ - ßàÞÔÞÒÖØâØ?"
msgid "Editing - restart anyway?"
msgstr "¿àÞæÕá ÜÞÝâÐÖã - ÔöÙáÝÞ ßÕàÕ×ÐßãáâØâØ?"
msgid "Recording - restart anyway?"
msgstr "¹ÔÕ ×ÐßØá - ÔöÙáÝÞ ßÕàÕ×ÐßãáâØâØ?"
msgid "restart anyway?"
msgstr "ÔöÙáÝÞ ßÕàÕ×ÐßãáâØâØ?"
#. TRANSLATORS: note the trailing blank!
msgid "Volume "
msgstr "³ãçÝöáâì "
msgid "Classic VDR"
msgstr "ºÛÐáØçÝØÙ"
msgid "ST:TNG Panels"
msgstr "ST:TNG ßÐÝÕÛö"
#. TRANSLATORS: the first character of each weekday, beginning with monday
msgid "MTWTFSS"
msgstr "¿²ÁÇ¿Á½"
#. TRANSLATORS: abbreviated weekdays, beginning with monday (must all be 3 letters!)
msgid "MonTueWedThuFriSatSun"
msgstr "¿ÞݲâàÁàÔÇâÒ¿âÝÁãѽÕÔ"
msgid "Monday"
msgstr "¿ÞÝÕÔöÛÞÚ"
msgid "Tuesday"
msgstr "²öÒâÞàÞÚ"
msgid "Wednesday"
msgstr "ÁÕàÕÔÐ"
msgid "Thursday"
msgstr "ÇÕâÒÕà"
msgid "Friday"
msgstr "¿'ïâÝØæï"
msgid "Saturday"
msgstr "ÁãÑÞâÐ"
msgid "Sunday"
msgstr "½ÕÔöÛï"
msgid "Upcoming VPS recording!"
msgstr "VPS-·ÐßØá áÚÞàÞ ßÞçÝÕâìáï"
msgid "Recording started"
msgstr "·ÐßØá ßÞçÐÒáï"
msgid "VDR will shut down later - press Power to force"
msgstr "VDR ÒØÚÛîçØâìáï ßßö×ÝöèÕ - ÝÐâØáÝöâì Power ÔÛï ßàØèÒØÔèÕÝÝï"
msgid "Press any key to cancel shutdown"
msgstr "½ÐâØáÝöâì ÑãÔì-ïÚã ÚÝÞßÚã ÔÛï ÒöÔÜöÝØ ÒØÚÛîçÕÝÝï."
msgid "Switching primary DVB..."
msgstr "·ÜöÝÐ ÞáÝÞÒÝÞÓÞ DVB-ßàØáâàÞî..."
msgid "Editing process failed!"
msgstr "¿ÞÜØÛÚÐ ßöÔ çÐá ÜÞÝâÐÖã ×ÐßØáã!"
msgid "Editing process finished"
msgstr "¼ÞÝâÐÖ ×ÐÚöÝçÕÝÞ"
msgid "Press any key to cancel restart"
msgstr "½ÐâØáÝöâì ÑãÔì-ïÚã ÚÝÞßÚã ÔÛï ÒöÔÜöÝØ ßÕàÕ×ÐÒÐÝâÐÖÕÝÝï"
#, c-format
msgid "VDR will shut down in %s minutes"
msgstr "VDR ÒØÚÛîçØâìáï çÕàÕ× %s åÒØÛØÝ"

View File

@ -4,10 +4,11 @@
* 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: recording.c 1.156 2007/10/14 10:21:54 kls Exp $ * $Id: recording.c 1.157 2007/11/04 11:17:43 kls Exp $
*/ */
#include "recording.h" #include "recording.h"
#include <ctype.h>
#include <dirent.h> #include <dirent.h>
#include <errno.h> #include <errno.h>
#include <fcntl.h> #include <fcntl.h>
@ -448,12 +449,14 @@ char *ExchangeChars(char *s, bool ToFileSystem)
case '/': *p = '~'; break; case '/': *p = '~'; break;
// encoded characters: // encoded characters:
case '#': { case '#': {
if (strlen(p) > 2) { if (strlen(p) > 2 && isxdigit(*(p + 1)) && isxdigit(*(p + 2))) {
char buf[3]; char buf[3];
sprintf(buf, "%c%c", *(p + 1), *(p + 2)); sprintf(buf, "%c%c", *(p + 1), *(p + 2));
unsigned char c = strtol(buf, NULL, 16); unsigned char c = strtol(buf, NULL, 16);
*p = c; if (c) {
memmove(p + 1, p + 3, strlen(p) - 2); *p = c;
memmove(p + 1, p + 3, strlen(p) - 2);
}
} }
} }
break; break;

View File

@ -11,7 +11,7 @@
* The cRepacker family's code was originally written by Reinhard Nissl <rnissl@gmx.de>, * The cRepacker family's code was originally written by Reinhard Nissl <rnissl@gmx.de>,
* and adapted to the VDR coding style by Klaus.Schmidinger@cadsoft.de. * and adapted to the VDR coding style by Klaus.Schmidinger@cadsoft.de.
* *
* $Id: remux.c 1.59 2007/09/22 12:08:22 kls Exp $ * $Id: remux.c 1.60 2007/11/03 14:18:07 kls Exp $
*/ */
#include "remux.h" #include "remux.h"
@ -1427,6 +1427,7 @@ int cDolbyRepacker::BreakAt(const uchar *Data, int Count)
#define MMAX_PLENGTH (64*MAX_PLENGTH) // some stations send PES packets that are extremely large, e.g. DVB-T in Finland or HDTV 1920x1080 #define MMAX_PLENGTH (64*MAX_PLENGTH) // some stations send PES packets that are extremely large, e.g. DVB-T in Finland or HDTV 1920x1080
#define IPACKS 2048 #define IPACKS 2048
#define SUBTITLE_PACKS KILOBYTE(32)
// Start codes: // Start codes:
#define SC_SEQUENCE 0xB3 // "sequence header code" #define SC_SEQUENCE 0xB3 // "sequence header code"
@ -1911,7 +1912,7 @@ cRemux::cRemux(int VPid, const int *APids, const int *DPids, const int *SPids, b
if (SPids) { if (SPids) {
int n = 0; int n = 0;
while (*SPids && numTracks < MAXTRACKS && n < MAXSPIDS) while (*SPids && numTracks < MAXTRACKS && n < MAXSPIDS)
ts2pes[numTracks++] = new cTS2PES(*SPids++, resultBuffer, IPACKS, 0x00, 0x20 + n++); ts2pes[numTracks++] = new cTS2PES(*SPids++, resultBuffer, SUBTITLE_PACKS, 0x00, 0x20 + n++);
} }
} }
@ -2009,7 +2010,7 @@ int cRemux::Put(const uchar *Data, int Count)
break; break;
if (Data[i] != TS_SYNC_BYTE) if (Data[i] != TS_SYNC_BYTE)
break; break;
if (resultBuffer->Free() < 2 * IPACKS) if (resultBuffer->Free() < SUBTITLE_PACKS)
break; // A cTS2PES might write one full packet and also a small rest break; // A cTS2PES might write one full packet and also a small rest
int pid = GetPid(Data + i + 1); int pid = GetPid(Data + i + 1);
if (Data[i + 3] & 0x10) { // got payload if (Data[i + 3] & 0x10) { // got payload

View File

@ -6,7 +6,7 @@
* *
* Original version written by Udo Richter <udo_richter@gmx.de>. * Original version written by Udo Richter <udo_richter@gmx.de>.
* *
* $Id: shutdown.c 1.1 2007/02/24 17:24:11 kls Exp $ * $Id: shutdown.c 1.2 2007/10/19 14:33:40 kls Exp $
*/ */
#include "shutdown.h" #include "shutdown.h"
@ -110,9 +110,11 @@ void cShutdownHandler::CheckManualStart(int ManualStart)
// Set inactive after MinUserInactivity // Set inactive after MinUserInactivity
SetUserInactiveTimeout(); SetUserInactiveTimeout();
} }
else else {
// Set inactive from now on // Set inactive from now on
dsyslog("scheduled wakeup time in %ld minutes, assuming automatic start of VDR", Delta / 60);
SetUserInactive(); SetUserInactive();
}
} }
void cShutdownHandler::SetShutdownCommand(const char *ShutdownCommand) void cShutdownHandler::SetShutdownCommand(const char *ShutdownCommand)
@ -126,8 +128,13 @@ void cShutdownHandler::CallShutdownCommand(time_t WakeupTime, int Channel, const
time_t Delta = WakeupTime ? WakeupTime - time(NULL) : 0; time_t Delta = WakeupTime ? WakeupTime - time(NULL) : 0;
cString cmd = cString::sprintf("%s %ld %ld %d \"%s\" %d", shutdownCommand, WakeupTime, Delta, Channel, *strescape(File, "\"$"), UserShutdown); cString cmd = cString::sprintf("%s %ld %ld %d \"%s\" %d", shutdownCommand, WakeupTime, Delta, Channel, *strescape(File, "\"$"), UserShutdown);
isyslog("executing '%s'", *cmd); isyslog("executing '%s'", *cmd);
if (SystemExec(cmd, true) == 0) int Status = SystemExec(cmd, true);
if (!WIFEXITED(Status) || WEXITSTATUS(Status))
esyslog("SystemExec() failed with status %d", Status);
else {
Setup.NextWakeupTime = WakeupTime; // Remember this wakeup time for comparison on reboot Setup.NextWakeupTime = WakeupTime; // Remember this wakeup time for comparison on reboot
Setup.Save();
}
} }
void cShutdownHandler::SetUserInactiveTimeout(int Seconds, bool Force) void cShutdownHandler::SetUserInactiveTimeout(int Seconds, bool Force)

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: thread.c 1.62 2007/08/24 13:15:48 kls Exp $ * $Id: thread.c 1.63 2007/10/19 14:30:13 kls Exp $
*/ */
#include "thread.h" #include "thread.h"
@ -518,7 +518,7 @@ int SystemExec(const char *Command, bool Detached)
if (Detached) { if (Detached) {
// Fork again and let first child die - grandchild stays alive without parent // Fork again and let first child die - grandchild stays alive without parent
if (fork() > 0) if (fork() > 0)
exit(0); _exit(0);
// Start a new session // Start a new session
pid_t sid = setsid(); pid_t sid = setsid();
if (sid < 0) if (sid < 0)

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: tools.c 1.136 2007/10/13 12:00:21 kls Exp $ * $Id: tools.c 1.137 2007/11/03 15:34:07 kls Exp $
*/ */
#include "tools.h" #include "tools.h"
@ -896,7 +896,7 @@ cString DayDateTime(time_t t)
time(&t); time(&t);
struct tm tm_r; struct tm tm_r;
tm *tm = localtime_r(&t, &tm_r); tm *tm = localtime_r(&t, &tm_r);
snprintf(buffer, sizeof(buffer), "%s %02d.%02d %02d:%02d", *WeekDayName(tm->tm_wday), tm->tm_mday, tm->tm_mon + 1, tm->tm_hour, tm->tm_min); snprintf(buffer, sizeof(buffer), "%s %02d.%02d. %02d:%02d", *WeekDayName(tm->tm_wday), tm->tm_mday, tm->tm_mon + 1, tm->tm_hour, tm->tm_min);
return buffer; return buffer;
} }

13
vdr.c
View File

@ -22,7 +22,7 @@
* *
* The project's page is at http://www.cadsoft.de/vdr * The project's page is at http://www.cadsoft.de/vdr
* *
* $Id: vdr.c 1.300 2007/08/26 14:36:48 kls Exp $ * $Id: vdr.c 1.302 2007/11/03 14:46:29 kls Exp $
*/ */
#include <getopt.h> #include <getopt.h>
@ -181,6 +181,7 @@ int main(int argc, char *argv[])
#define DEFAULTSVDRPPORT 2001 #define DEFAULTSVDRPPORT 2001
#define DEFAULTWATCHDOG 0 // seconds #define DEFAULTWATCHDOG 0 // seconds
#define DEFAULTCONFDIR CONFDIR
#define DEFAULTPLUGINDIR PLUGINDIR #define DEFAULTPLUGINDIR PLUGINDIR
#define DEFAULTEPGDATAFILENAME "epg.data" #define DEFAULTEPGDATAFILENAME "epg.data"
@ -382,8 +383,7 @@ int main(int argc, char *argv[])
if (DisplayHelp) { if (DisplayHelp) {
printf("Usage: vdr [OPTIONS]\n\n" // for easier orientation, this is column 80| printf("Usage: vdr [OPTIONS]\n\n" // for easier orientation, this is column 80|
" -a CMD, --audio=CMD send Dolby Digital audio to stdin of command CMD\n" " -a CMD, --audio=CMD send Dolby Digital audio to stdin of command CMD\n"
" -c DIR, --config=DIR read config files from DIR (default is to read them\n" " -c DIR, --config=DIR read config files from DIR (default: %s)\n"
" from the video directory)\n"
" -d, --daemon run in daemon mode\n" " -d, --daemon run in daemon mode\n"
" -D NUM, --device=NUM use only the given DVB device (NUM = 0, 1, 2...)\n" " -D NUM, --device=NUM use only the given DVB device (NUM = 0, 1, 2...)\n"
" there may be several -D options (default: all DVB\n" " there may be several -D options (default: all DVB\n"
@ -425,6 +425,7 @@ int main(int argc, char *argv[])
" -w SEC, --watchdog=SEC activate the watchdog timer with a timeout of SEC\n" " -w SEC, --watchdog=SEC activate the watchdog timer with a timeout of SEC\n"
" seconds (default: %d); '0' disables the watchdog\n" " seconds (default: %d); '0' disables the watchdog\n"
"\n", "\n",
DEFAULTCONFDIR,
DEFAULTEPGDATAFILENAME, DEFAULTEPGDATAFILENAME,
DEFAULTPLUGINDIR, DEFAULTPLUGINDIR,
LIRC_DEVICE, LIRC_DEVICE,
@ -523,6 +524,7 @@ int main(int argc, char *argv[])
int PreviousChannel[2] = { 1, 1 }; int PreviousChannel[2] = { 1, 1 };
int PreviousChannelIndex = 0; int PreviousChannelIndex = 0;
time_t LastChannelChanged = time(NULL); time_t LastChannelChanged = time(NULL);
time_t LastInteract = 0;
int MaxLatencyTime = 0; int MaxLatencyTime = 0;
bool InhibitEpgScan = false; bool InhibitEpgScan = false;
bool IsInfoMenu = false; bool IsInfoMenu = false;
@ -536,7 +538,7 @@ int main(int argc, char *argv[])
// Configuration data: // Configuration data:
if (!ConfigDirectory) if (!ConfigDirectory)
ConfigDirectory = CONFDIR; ConfigDirectory = DEFAULTCONFDIR;
cPlugin::SetConfigDirectory(ConfigDirectory); cPlugin::SetConfigDirectory(ConfigDirectory);
cThemes::SetThemesDirectory(AddDirectory(ConfigDirectory, "themes")); cThemes::SetThemesDirectory(AddDirectory(ConfigDirectory, "themes"));
@ -1069,6 +1071,7 @@ int main(int argc, char *argv[])
} }
Interact = Menu ? Menu : cControl::Control(); // might have been closed in the mean time Interact = Menu ? Menu : cControl::Control(); // might have been closed in the mean time
if (Interact) { if (Interact) {
LastInteract = Now;
eOSState state = Interact->ProcessKey(key); eOSState state = Interact->ProcessKey(key);
if (state == osUnknown && Interact != cControl::Control()) { if (state == osUnknown && Interact != cControl::Control()) {
if (ISMODELESSKEY(key) && cControl::Control()) { if (ISMODELESSKEY(key) && cControl::Control()) {
@ -1195,7 +1198,7 @@ int main(int argc, char *argv[])
ShutdownHandler.countdown.Cancel(); ShutdownHandler.countdown.Cancel();
} }
if (!Interact && !cRecordControls::Active() && !cCutter::Active() && !Interface->HasSVDRPConnection() && (Now - cRemote::LastActivity()) > ACTIVITYTIMEOUT) { if ((Now - LastInteract) > ACTIVITYTIMEOUT && !cRecordControls::Active() && !cCutter::Active() && !Interface->HasSVDRPConnection() && (Now - cRemote::LastActivity()) > ACTIVITYTIMEOUT) {
// Handle housekeeping tasks // Handle housekeeping tasks
// Shutdown: // Shutdown: