mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Version 1.7.37
VDR developer version 1.7.37 is now available at ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.37.tar.bz2 A 'diff' against the previous version is available at ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.36-1.7.37.diff MD5 checksums: 602dc7e678bcfcf075da36344a337562 vdr-1.7.37.tar.bz2 34e953fcffc112f316cbfc1f53915324 vdr-1.7.36-1.7.37.diff WARNING: ======== This is a developer version. Even though I use it in my productive environment. I strongly recommend that you only use it under controlled conditions and for testing and debugging. Approaching version 2.0.0: ========================== If all goes well, there should be no more functional or API changes before the final version 2.0.0. There will just be a few more fixes. From the HISTORY file: - Now also using FindHeader() in cMpeg2Fixer::AdjTref() (pointed out by Sören Moch). - Added missing template for DVBDIR to Make.config.template (reported by Derek Kelly). - The LCARS menu now also works if the OSD has only 1bpp (two colors). - Fixed possible garbage in the remaining time of the LCARS replay display in case the hours change from two to one digit. - Fixed upscaling bitmaps. The last row and column of the scaled bitmap was not filled, which resulted in empty lines between scaled subtitles. - Fixed a leftover line in case a two line subtitle was followed by a one line subtitle on the dvbhddevice in "high level" OSD mode. - Returning 0 from cDvbSdFfDevice::NumProvidedSystems() if option --outputonly is given. - The index file is now closed after initially reading it if it is older than 3600 seconds. - Improved responsiveness during replay when close to the recording's end. - Fixed a leftover progress display in the LCARS main menu when replay of a recording ends while the menu is open, and the live channel has no EPG information. - Fixed possible audio chatter when a recording is replayed to its very end. - Added dependency on 'i18n' to 'install-i18n' in the VDR Makefile (thanks to Tobias Grimm). - Changed several calls to Skins.Message() in vdr.c to Skins.QueueMessage() in order to avoid a black screen while such a message is displayed in case the channel will be switched (reported by Uwe Scheffler). - Updated the Slovakian language texts (thanks to Milan Hrala). - Improved LIRC timing for repeat function. - When pausing live video, the current audio and subtitle tracks are now retained. - Added some notes about plugin Makefiles to PLUGINS.html. - Avoiding an extra key press event if the repeat function kicks in when controlling VDR via the PC keyboard. - The new options "Setup/Miscellaneous/Remote control repeat delay" and "Setup/Miscellaneous/Remote control repeat delta" can be used to adjust the behavior of the remote control in case a key is held pressed down for a while, so that the repeat function kicks in (see MANUAL). The builtin LIRC and KBD remote controls already use these parameters. It is recommended that plugins that implement an interface to any kind of remote controls also use the parameters Setup.RcRepeatDelay and Setup.RcRepeatDelta for the desired purpose, and remove any setup options they might have that serve the same purpose. - cTimer no longer does any special "VFAT" handling to shorten directory names to 40 characters. When a string is used as a directory name for a recording, the maximum length of the directory path, as well as the individual directory names, is now limited to the values specified by the new command line option --dirnames (see man vdr(1) for details). For backwards compatibility the option --vfat is still available and has the same effect as --dirnames=250,40,1. - The macro MaxFileName is now obsolete and may be removed in future versions. Use NAME_MAX directly instead. - There is no more fixed limit to the maximum number of cPixmap objects an OSD can create. However, a particular device may still be unable to create an arbitrary number of pixmaps, due to limited resources. So it's always a good idea to use as few pixmaps as possible. - Fixed formatting and removed some superfluous break statements in vdr.c's command line option switch.
This commit is contained in:
committed by
Dieter Hametner
parent
889f7deeb4
commit
14bd32b948
@@ -280,6 +280,7 @@ Uwe Scheffler <linux_dvb@uni.de>
|
|||||||
for reporting a problem with frozen live view in conjunction with device bonding
|
for reporting a problem with frozen live view in conjunction with device bonding
|
||||||
for reporting a problem in handling the PrimaryLimit when requesting a device for
|
for reporting a problem in handling the PrimaryLimit when requesting a device for
|
||||||
live viewing
|
live viewing
|
||||||
|
for reporting a black screen while a "Recording started" message is displayed
|
||||||
|
|
||||||
Matjaz Thaler <matjaz.thaler@guest.arnes.si>
|
Matjaz Thaler <matjaz.thaler@guest.arnes.si>
|
||||||
for improving AC3 decoding when replaying DVDs
|
for improving AC3 decoding when replaying DVDs
|
||||||
@@ -2384,6 +2385,7 @@ Tobias Grimm <tobias.grimm@e-tobi.net>
|
|||||||
for avoiding a gcc 4.6 compiler error in the skincurses plugin.
|
for avoiding a gcc 4.6 compiler error in the skincurses plugin.
|
||||||
for suggesting to move setting LC_NUMERIC further up to make sure any floating point
|
for suggesting to move setting LC_NUMERIC further up to make sure any floating point
|
||||||
numbers use a decimal point
|
numbers use a decimal point
|
||||||
|
for adding dependency on 'i18n' to 'install-i18n' in the VDR Makefile
|
||||||
|
|
||||||
Helge Lenz <h.lenz@gmx.de>
|
Helge Lenz <h.lenz@gmx.de>
|
||||||
for reporting a bug in setting the 'Delta' parameter when calling the shutdown
|
for reporting a bug in setting the 'Delta' parameter when calling the shutdown
|
||||||
@@ -2735,6 +2737,7 @@ Derek Kelly (user.vdr@gmail.com)
|
|||||||
for reporting a problem with getting the maximum short channel name length in case there
|
for reporting a problem with getting the maximum short channel name length in case there
|
||||||
are no short names at all
|
are no short names at all
|
||||||
for reporting an incompatible change from DTV_DVBT2_PLP_ID to DTV_STREAM_ID in DVB API 5.8
|
for reporting an incompatible change from DTV_DVBT2_PLP_ID to DTV_STREAM_ID in DVB API 5.8
|
||||||
|
for reporting a missing template for DVBDIR in Make.config.template
|
||||||
|
|
||||||
Marcel Unbehaun <frostworks@gmx.de>
|
Marcel Unbehaun <frostworks@gmx.de>
|
||||||
for adding cRecordingInfo::GetEvent()
|
for adding cRecordingInfo::GetEvent()
|
||||||
@@ -3025,6 +3028,7 @@ S
|
|||||||
for simplifying calculating the PTS offset in cPtsFixer::Fix() and fixing the overflow
|
for simplifying calculating the PTS offset in cPtsFixer::Fix() and fixing the overflow
|
||||||
handling of PCR values
|
handling of PCR values
|
||||||
for improving cutting MPEG-2 video
|
for improving cutting MPEG-2 video
|
||||||
|
for pointing out that FindHeader() can also be used in cMpeg2Fixer::AdjTref()
|
||||||
|
|
||||||
Peter M<>nster <pmlists@free.fr>
|
Peter M<>nster <pmlists@free.fr>
|
||||||
for fixing 'make install' to not overwrite existing configuration files
|
for fixing 'make install' to not overwrite existing configuration files
|
||||||
|
51
HISTORY
51
HISTORY
@@ -7533,3 +7533,54 @@ Video Disk Recorder Revision History
|
|||||||
- Improved cutting MPEG-2 video (thanks to S<>ren Moch).
|
- Improved cutting MPEG-2 video (thanks to S<>ren Moch).
|
||||||
- Reduced the number of retries in cTransfer::Receive() to avoid blocking recordings
|
- Reduced the number of retries in cTransfer::Receive() to avoid blocking recordings
|
||||||
in case the primary device can't handle the current live signal.
|
in case the primary device can't handle the current live signal.
|
||||||
|
|
||||||
|
2013-02-08: Version 1.7.37
|
||||||
|
|
||||||
|
- Now also using FindHeader() in cMpeg2Fixer::AdjTref() (pointed out by S<>ren Moch).
|
||||||
|
- Added missing template for DVBDIR to Make.config.template (reported by Derek Kelly).
|
||||||
|
- The LCARS menu now also works if the OSD has only 1bpp (two colors).
|
||||||
|
- Fixed possible garbage in the remaining time of the LCARS replay display in case the
|
||||||
|
hours change from two to one digit.
|
||||||
|
- Fixed upscaling bitmaps. The last row and column of the scaled bitmap was not filled,
|
||||||
|
which resulted in empty lines between scaled subtitles.
|
||||||
|
- Fixed a leftover line in case a two line subtitle was followed by a one line
|
||||||
|
subtitle on the dvbhddevice in "high level" OSD mode.
|
||||||
|
- Returning 0 from cDvbSdFfDevice::NumProvidedSystems() if option --outputonly is given.
|
||||||
|
- The index file is now closed after initially reading it if it is older than 3600 seconds.
|
||||||
|
- Improved responsiveness during replay when close to the recording's end.
|
||||||
|
- Fixed a leftover progress display in the LCARS main menu when replay of a recording
|
||||||
|
ends while the menu is open, and the live channel has no EPG information.
|
||||||
|
- Fixed possible audio chatter when a recording is replayed to its very end.
|
||||||
|
- Added dependency on 'i18n' to 'install-i18n' in the VDR Makefile (thanks to Tobias
|
||||||
|
Grimm).
|
||||||
|
- Changed several calls to Skins.Message() in vdr.c to Skins.QueueMessage() in order to
|
||||||
|
avoid a black screen while such a message is displayed in case the channel will be
|
||||||
|
switched (reported by Uwe Scheffler).
|
||||||
|
- Updated the Slovakian language texts (thanks to Milan Hrala).
|
||||||
|
- Improved LIRC timing for repeat function.
|
||||||
|
- When pausing live video, the current audio and subtitle tracks are now retained.
|
||||||
|
- Added some notes about plugin Makefiles to PLUGINS.html.
|
||||||
|
- Avoiding an extra key press event if the repeat function kicks in when controlling
|
||||||
|
VDR via the PC keyboard.
|
||||||
|
- The new options "Setup/Miscellaneous/Remote control repeat delay" and
|
||||||
|
"Setup/Miscellaneous/Remote control repeat delta" can be used to adjust the
|
||||||
|
behavior of the remote control in case a key is held pressed down for a while, so
|
||||||
|
that the repeat function kicks in (see MANUAL).
|
||||||
|
The builtin LIRC and KBD remote controls already use these parameters. It is
|
||||||
|
recommended that plugins that implement an interface to any kind of remote controls
|
||||||
|
also use the parameters Setup.RcRepeatDelay and Setup.RcRepeatDelta for the desired
|
||||||
|
purpose, and remove any setup options they might have that serve the same purpose.
|
||||||
|
- cTimer no longer does any special "VFAT" handling to shorten directory names to 40
|
||||||
|
characters. When a string is used as a directory name for a recording, the maximum
|
||||||
|
length of the directory path, as well as the individual directory names, is now
|
||||||
|
limited to the values specified by the new command line option --dirnames (see
|
||||||
|
man vdr(1) for details). For backwards compatibility the option --vfat is still
|
||||||
|
available and has the same effect as --dirnames=250,40,1.
|
||||||
|
- The macro MaxFileName is now obsolete and may be removed in future versions. Use
|
||||||
|
NAME_MAX directly instead.
|
||||||
|
- There is no more fixed limit to the maximum number of cPixmap objects an OSD can
|
||||||
|
create. However, a particular device may still be unable to create an arbitrary
|
||||||
|
number of pixmaps, due to limited resources. So it's always a good idea to use
|
||||||
|
as few pixmaps as possible.
|
||||||
|
- Fixed formatting and removed some superfluous break statements in vdr.c's command
|
||||||
|
line option switch.
|
||||||
|
6
INSTALL
6
INSTALL
@@ -58,8 +58,10 @@ Alternatively you can use the '--lirc' option at runtime.
|
|||||||
This option accepts an optional path to the remote control device,
|
This option accepts an optional path to the remote control device,
|
||||||
the default of which can be set via the LIRC_DEVICE macro.
|
the default of which can be set via the LIRC_DEVICE macro.
|
||||||
|
|
||||||
If your video directory will be on a VFAT partition, you can call VDR with
|
If you want to make your video directory available to other machines that
|
||||||
the command line option '--vfat'.
|
have limitations on directory name lengths and/or allowed characters in
|
||||||
|
directory names, you can call VDR with the command line option '--dirnames'
|
||||||
|
(see man vdr(1) for details).
|
||||||
|
|
||||||
When running, the 'vdr' program writes status information into the
|
When running, the 'vdr' program writes status information into the
|
||||||
system log file, which is usually /var/log/messages (or /var/log/user.log,
|
system log file, which is usually /var/log/messages (or /var/log/user.log,
|
||||||
|
12
MANUAL
12
MANUAL
@@ -926,6 +926,18 @@ Version 1.6
|
|||||||
key. Note that the total maximum is also limited by
|
key. Note that the total maximum is also limited by
|
||||||
the "OSD/Channel info time" parameter.
|
the "OSD/Channel info time" parameter.
|
||||||
|
|
||||||
|
Remote control repeat delay = 300
|
||||||
|
The earliest time (in milliseconds) after which the repeat
|
||||||
|
function of the remote control kicks in if a key is held
|
||||||
|
pressed down for a while. If the remote control in use
|
||||||
|
has a repeat delay that is longer than that given in this
|
||||||
|
parameter, that longer delay will prevail.
|
||||||
|
Remote control repeat delta = 100
|
||||||
|
The time (in milliseconds) between two subsequent key
|
||||||
|
presses generated by the remote control's repeat function.
|
||||||
|
If the remote control in use has a repeat delta that is
|
||||||
|
longer than that given in this parameter, that longer delay
|
||||||
|
will prevail.
|
||||||
Initial channel = The channel ID of the channel that shall be tuned to when
|
Initial channel = The channel ID of the channel that shall be tuned to when
|
||||||
VDR starts. Default is empty, which means that it will
|
VDR starts. Default is empty, which means that it will
|
||||||
tune to the channel that was on before VDR was stopped.
|
tune to the channel that was on before VDR was stopped.
|
||||||
|
@@ -6,7 +6,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: Make.config.template 2.16 2013/01/12 13:50:17 kls Exp $
|
# $Id: Make.config.template 2.18 2013/02/08 10:31:38 kls Exp $
|
||||||
|
|
||||||
### The C compiler and options:
|
### The C compiler and options:
|
||||||
|
|
||||||
@@ -34,6 +34,7 @@ endif
|
|||||||
#MANDIR = $(PREFIX)/share/man
|
#MANDIR = $(PREFIX)/share/man
|
||||||
#PCDIR = $(PREFIX)/lib/pkgconfig
|
#PCDIR = $(PREFIX)/lib/pkgconfig
|
||||||
#RESDIR = $(PREFIX)/share/vdr
|
#RESDIR = $(PREFIX)/share/vdr
|
||||||
|
#DVBDIR = /usr/src/v4l-dvb/linux/include/uapi
|
||||||
|
|
||||||
#VIDEODIR = /srv/vdr/video
|
#VIDEODIR = /srv/vdr/video
|
||||||
#CONFDIR = /var/lib/vdr
|
#CONFDIR = /var/lib/vdr
|
||||||
|
4
Makefile
4
Makefile
@@ -4,7 +4,7 @@
|
|||||||
# See the main source file 'vdr.c' for copyright information and
|
# See the main source file 'vdr.c' for copyright information and
|
||||||
# how to reach the author.
|
# how to reach the author.
|
||||||
#
|
#
|
||||||
# $Id: Makefile 2.49 2013/01/12 13:45:01 kls Exp $
|
# $Id: Makefile 2.50 2013/01/27 14:19:49 kls Exp $
|
||||||
|
|
||||||
.DELETE_ON_ERROR:
|
.DELETE_ON_ERROR:
|
||||||
|
|
||||||
@@ -183,7 +183,7 @@ $(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr.mo: $(PODIR)/%.mo
|
|||||||
.PHONY: i18n
|
.PHONY: i18n
|
||||||
i18n: $(I18Nmsgs)
|
i18n: $(I18Nmsgs)
|
||||||
|
|
||||||
install-i18n:
|
install-i18n: i18n
|
||||||
@mkdir -p $(DESTDIR)$(LOCDIR)
|
@mkdir -p $(DESTDIR)$(LOCDIR)
|
||||||
cp -r $(LOCALEDIR)/* $(DESTDIR)$(LOCDIR)
|
cp -r $(LOCALEDIR)/* $(DESTDIR)$(LOCDIR)
|
||||||
|
|
||||||
|
15
PLUGINS.html
15
PLUGINS.html
@@ -173,9 +173,15 @@ The <tt>src</tt> directory contains one subdirectory for each plugin, which carr
|
|||||||
the name of that plugin (in the above example that would be <tt>hello</tt>).
|
the name of that plugin (in the above example that would be <tt>hello</tt>).
|
||||||
What's inside the individual source directory of a
|
What's inside the individual source directory of a
|
||||||
plugin is entirely up to the author of that plugin. The only prerequisites are
|
plugin is entirely up to the author of that plugin. The only prerequisites are
|
||||||
that there is a <tt>Makefile</tt> that provides the targets <tt>all</tt> and
|
that there is a <tt>Makefile</tt> that provides the targets <tt>all</tt><modified>, <tt>install</tt></modified> and
|
||||||
<tt>clean</tt>, and that a call to <tt>make all</tt> actually produces a dynamically
|
<tt>clean</tt>, and that a call to <tt>make all</tt> actually produces a dynamically
|
||||||
loadable library file for that plugin (we'll get to the details later).
|
loadable library file for that plugin (we'll get to the details later).
|
||||||
|
<modified>
|
||||||
|
The dynamically loadable library file for the plugin shall be located directly under
|
||||||
|
the plugin's source directory.
|
||||||
|
See the section <a href="#Initializing a new plugin directory">Initializing a new plugin directory</a>
|
||||||
|
for how to generate an example Makefile.
|
||||||
|
</modified>
|
||||||
<p>
|
<p>
|
||||||
The <tt>lib</tt> directory contains the dynamically loadable libraries of all
|
The <tt>lib</tt> directory contains the dynamically loadable libraries of all
|
||||||
available plugins. Note that the names of these files are created by concatenating
|
available plugins. Note that the names of these files are created by concatenating
|
||||||
@@ -2215,6 +2221,13 @@ Put(uint64 Code, bool Repeat = false, bool Release = false);
|
|||||||
</pre></td></tr></table><p>
|
</pre></td></tr></table><p>
|
||||||
|
|
||||||
The other parameters have the same meaning as in the first version of this function.
|
The other parameters have the same meaning as in the first version of this function.
|
||||||
|
<p>
|
||||||
|
<modified>
|
||||||
|
If your remote control has a repeat function that automatically repeats key events
|
||||||
|
if a key is held pressed down for a while, your derived class should use the global
|
||||||
|
parameters <tt>Setup.RcRepeatDelay</tt> and <tt>Setup.RcRepeatDelta</tt> to allow
|
||||||
|
users to configure the behavior of this function.
|
||||||
|
</modified>
|
||||||
|
|
||||||
<hr><h2><a name="Conditional Access">Conditional Access</a></h2>
|
<hr><h2><a name="Conditional Access">Conditional Access</a></h2>
|
||||||
|
|
||||||
|
@@ -51,3 +51,7 @@ VDR Plugin 'dvbhddevice' Revision History
|
|||||||
2013-01-12: Version 0.0.6
|
2013-01-12: Version 0.0.6
|
||||||
|
|
||||||
- Adapted Makefile to changes introduced in recent VDR versions.
|
- Adapted Makefile to changes introduced in recent VDR versions.
|
||||||
|
|
||||||
|
2013-01-24: Version 0.0.7
|
||||||
|
|
||||||
|
- Fixed cHdffOsd::SetAreas() (didn't clear the OSD).
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* See the README file for copyright information and how to reach the author.
|
* See the README file for copyright information and how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: dvbhddevice.c 1.19 2013/01/12 14:11:35 kls Exp $
|
* $Id: dvbhddevice.c 1.21 2013/01/29 08:59:36 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <vdr/plugin.h>
|
#include <vdr/plugin.h>
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
#include "setup.h"
|
#include "setup.h"
|
||||||
|
|
||||||
static const char *VERSION = "0.0.6";
|
static const char *VERSION = "0.0.7";
|
||||||
static const char *DESCRIPTION = trNOOP("HD Full Featured DVB device");
|
static const char *DESCRIPTION = trNOOP("HD Full Featured DVB device");
|
||||||
static const char *MAINMENUENTRY = "dvbhddevice";
|
static const char *MAINMENUENTRY = "dvbhddevice";
|
||||||
|
|
||||||
@@ -26,6 +26,7 @@ public:
|
|||||||
virtual const char *Version(void) { return VERSION; }
|
virtual const char *Version(void) { return VERSION; }
|
||||||
virtual const char *Description(void) { return tr(DESCRIPTION); }
|
virtual const char *Description(void) { return tr(DESCRIPTION); }
|
||||||
virtual void MainThreadHook(void);
|
virtual void MainThreadHook(void);
|
||||||
|
virtual void Stop(void);
|
||||||
virtual const char *MainMenuEntry(void);
|
virtual const char *MainMenuEntry(void);
|
||||||
virtual cOsdObject *MainMenuAction(void);
|
virtual cOsdObject *MainMenuAction(void);
|
||||||
virtual cMenuSetupPage *SetupMenu(void);
|
virtual cMenuSetupPage *SetupMenu(void);
|
||||||
@@ -60,6 +61,19 @@ void cPluginDvbhddevice::MainThreadHook(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void cPluginDvbhddevice::Stop(void)
|
||||||
|
{
|
||||||
|
if (gHdffSetup.CecEnabled && gHdffSetup.CecTvOff)
|
||||||
|
{
|
||||||
|
HDFF::cHdffCmdIf * hdffCmdIf = cDvbHdFfDevice::GetHdffCmdHandler();
|
||||||
|
if (hdffCmdIf)
|
||||||
|
{
|
||||||
|
hdffCmdIf->CmdHdmiSendCecCommand(HDFF_CEC_COMMAND_TV_OFF);
|
||||||
|
isyslog("HDFF_CEC_COMMAND_TV_OFF");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const char *cPluginDvbhddevice::MainMenuEntry(void)
|
const char *cPluginDvbhddevice::MainMenuEntry(void)
|
||||||
{
|
{
|
||||||
return gHdffSetup.HideMainMenu ? NULL : MAINMENUENTRY;
|
return gHdffSetup.HideMainMenu ? NULL : MAINMENUENTRY;
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* See the README file for copyright information and how to reach the author.
|
* See the README file for copyright information and how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: dvbhdffdevice.c 1.47 2012/12/29 13:23:22 kls Exp $
|
* $Id: dvbhdffdevice.c 1.48 2013/01/29 08:59:36 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
@@ -96,10 +96,6 @@ cDvbHdFfDevice::~cDvbHdFfDevice()
|
|||||||
delete spuDecoder;
|
delete spuDecoder;
|
||||||
if (isHdffPrimary)
|
if (isHdffPrimary)
|
||||||
{
|
{
|
||||||
if (gHdffSetup.CecEnabled && gHdffSetup.CecTvOff)
|
|
||||||
{
|
|
||||||
mHdffCmdIf->CmdHdmiSendCecCommand(HDFF_CEC_COMMAND_TV_OFF);
|
|
||||||
}
|
|
||||||
delete mHdffCmdIf;
|
delete mHdffCmdIf;
|
||||||
}
|
}
|
||||||
// We're not explicitly closing any device files here, since this sometimes
|
// We're not explicitly closing any device files here, since this sometimes
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* See the README file for copyright information and how to reach the author.
|
* See the README file for copyright information and how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: hdffosd.c 1.18 2012/11/15 09:20:24 kls Exp $
|
* $Id: hdffosd.c 1.20 2013/01/29 08:59:36 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "hdffosd.h"
|
#include "hdffosd.h"
|
||||||
@@ -38,7 +38,6 @@ private:
|
|||||||
int mTop;
|
int mTop;
|
||||||
int mDispWidth;
|
int mDispWidth;
|
||||||
int mDispHeight;
|
int mDispHeight;
|
||||||
bool shown;
|
|
||||||
bool mChanged;
|
bool mChanged;
|
||||||
uint32_t mDisplay;
|
uint32_t mDisplay;
|
||||||
tFontFace mFontFaces[MAX_NUM_FONTFACES];
|
tFontFace mFontFaces[MAX_NUM_FONTFACES];
|
||||||
@@ -77,7 +76,6 @@ cHdffOsd::cHdffOsd(int Left, int Top, HDFF::cHdffCmdIf * pHdffCmdIf, uint Level)
|
|||||||
mHdffCmdIf = pHdffCmdIf;
|
mHdffCmdIf = pHdffCmdIf;
|
||||||
mLeft = Left;
|
mLeft = Left;
|
||||||
mTop = Top;
|
mTop = Top;
|
||||||
shown = false;
|
|
||||||
mChanged = false;
|
mChanged = false;
|
||||||
mBitmapPalette = HDFF_INVALID_HANDLE;
|
mBitmapPalette = HDFF_INVALID_HANDLE;
|
||||||
|
|
||||||
@@ -154,11 +152,10 @@ eOsdError cHdffOsd::SetAreas(const tArea *Areas, int NumAreas)
|
|||||||
{
|
{
|
||||||
//printf("SetAreas %d: %d %d %d %d %d\n", i, Areas[i].x1, Areas[i].y1, Areas[i].x2, Areas[i].y2, Areas[i].bpp);
|
//printf("SetAreas %d: %d %d %d %d %d\n", i, Areas[i].x1, Areas[i].y1, Areas[i].x2, Areas[i].y2, Areas[i].bpp);
|
||||||
}
|
}
|
||||||
if (shown)
|
if (mDisplay != HDFF_INVALID_HANDLE)
|
||||||
{
|
{
|
||||||
mHdffCmdIf->CmdOsdDrawRectangle(mDisplay, 0, 0, mDispWidth, mDispHeight, 0);
|
mHdffCmdIf->CmdOsdDrawRectangle(mDisplay, 0, 0, mDispWidth, mDispHeight, 0);
|
||||||
mHdffCmdIf->CmdOsdRenderDisplay(mDisplay);
|
mHdffCmdIf->CmdOsdRenderDisplay(mDisplay);
|
||||||
shown = false;
|
|
||||||
}
|
}
|
||||||
error = cOsd::SetAreas(Areas, NumAreas);
|
error = cOsd::SetAreas(Areas, NumAreas);
|
||||||
|
|
||||||
@@ -180,11 +177,10 @@ void cHdffOsd::SetActive(bool On)
|
|||||||
if (GetBitmap(0)) // only flush here if there are already bitmaps
|
if (GetBitmap(0)) // only flush here if there are already bitmaps
|
||||||
Flush();
|
Flush();
|
||||||
}
|
}
|
||||||
else if (shown)
|
else if (mDisplay != HDFF_INVALID_HANDLE)
|
||||||
{
|
{
|
||||||
mHdffCmdIf->CmdOsdDrawRectangle(mDisplay, 0, 0, mDispWidth, mDispHeight, 0);
|
mHdffCmdIf->CmdOsdDrawRectangle(mDisplay, 0, 0, mDispWidth, mDispHeight, 0);
|
||||||
mHdffCmdIf->CmdOsdRenderDisplay(mDisplay);
|
mHdffCmdIf->CmdOsdRenderDisplay(mDisplay);
|
||||||
shown = false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -37,3 +37,7 @@ VDR Plugin 'dvbsddevice' Revision History
|
|||||||
2013-01-12: Version 0.0.8
|
2013-01-12: Version 0.0.8
|
||||||
|
|
||||||
- Adapted Makefile to changes introduced in recent VDR versions.
|
- Adapted Makefile to changes introduced in recent VDR versions.
|
||||||
|
|
||||||
|
2013-01-25: Version 0.0.9
|
||||||
|
|
||||||
|
- Returning 0 from cDvbSdFfDevice::NumProvidedSystems() if option --outputonly is given.
|
||||||
|
@@ -3,14 +3,14 @@
|
|||||||
*
|
*
|
||||||
* See the README file for copyright information and how to reach the author.
|
* See the README file for copyright information and how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: dvbsddevice.c 1.8 2013/01/12 14:12:07 kls Exp $
|
* $Id: dvbsddevice.c 1.9 2013/01/25 10:48:50 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
#include <vdr/plugin.h>
|
#include <vdr/plugin.h>
|
||||||
#include "dvbsdffdevice.h"
|
#include "dvbsdffdevice.h"
|
||||||
|
|
||||||
static const char *VERSION = "0.0.8";
|
static const char *VERSION = "0.0.9";
|
||||||
static const char *DESCRIPTION = "SD Full Featured DVB device";
|
static const char *DESCRIPTION = "SD Full Featured DVB device";
|
||||||
|
|
||||||
class cPluginDvbsddevice : public cPlugin {
|
class cPluginDvbsddevice : public cPlugin {
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* See the README file for copyright information and how to reach the author.
|
* See the README file for copyright information and how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: dvbsdffdevice.c 2.33 2012/03/11 13:32:42 kls Exp $
|
* $Id: dvbsdffdevice.c 2.34 2013/01/25 10:48:29 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "dvbsdffdevice.h"
|
#include "dvbsdffdevice.h"
|
||||||
@@ -362,6 +362,13 @@ bool cDvbSdFfDevice::ProvidesSource(int Source) const
|
|||||||
return cDvbDevice::ProvidesSource(Source);
|
return cDvbDevice::ProvidesSource(Source);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int cDvbSdFfDevice::NumProvidedSystems(void) const
|
||||||
|
{
|
||||||
|
if (outputOnly)
|
||||||
|
return 0;
|
||||||
|
return cDvbDevice::NumProvidedSystems();
|
||||||
|
}
|
||||||
|
|
||||||
void cDvbSdFfDevice::TurnOffLiveMode(bool LiveView)
|
void cDvbSdFfDevice::TurnOffLiveMode(bool LiveView)
|
||||||
{
|
{
|
||||||
if (LiveView) {
|
if (LiveView) {
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* See the README file for copyright information and how to reach the author.
|
* See the README file for copyright information and how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: dvbsdffdevice.h 2.14 2012/12/03 13:43:55 kls Exp $
|
* $Id: dvbsdffdevice.h 2.15 2013/01/25 10:43:14 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __DVBSDFFDEVICE_H
|
#ifndef __DVBSDFFDEVICE_H
|
||||||
@@ -37,6 +37,7 @@ public:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
virtual bool ProvidesSource(int Source) const;
|
virtual bool ProvidesSource(int Source) const;
|
||||||
|
virtual int NumProvidedSystems(void) const;
|
||||||
private:
|
private:
|
||||||
void TurnOffLiveMode(bool LiveView);
|
void TurnOffLiveMode(bool LiveView);
|
||||||
protected:
|
protected:
|
||||||
|
10
config.c
10
config.c
@@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: config.c 2.32 2013/01/17 14:50:51 kls Exp $
|
* $Id: config.c 2.34 2013/02/05 11:16:08 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
@@ -408,6 +408,8 @@ cSetup::cSetup(void)
|
|||||||
SVDRPTimeout = 300;
|
SVDRPTimeout = 300;
|
||||||
ZapTimeout = 3;
|
ZapTimeout = 3;
|
||||||
ChannelEntryTimeout = 1000;
|
ChannelEntryTimeout = 1000;
|
||||||
|
RcRepeatDelay = 300;
|
||||||
|
RcRepeatDelta = 100;
|
||||||
DefaultPriority = 50;
|
DefaultPriority = 50;
|
||||||
DefaultLifetime = MAXLIFETIME;
|
DefaultLifetime = MAXLIFETIME;
|
||||||
PauseKeyHandling = 2;
|
PauseKeyHandling = 2;
|
||||||
@@ -585,7 +587,7 @@ bool cSetup::Parse(const char *Name, const char *Value)
|
|||||||
else if (!strcasecmp(Name, "MenuScrollWrap")) MenuScrollWrap = atoi(Value);
|
else if (!strcasecmp(Name, "MenuScrollWrap")) MenuScrollWrap = atoi(Value);
|
||||||
else if (!strcasecmp(Name, "MenuKeyCloses")) MenuKeyCloses = atoi(Value);
|
else if (!strcasecmp(Name, "MenuKeyCloses")) MenuKeyCloses = atoi(Value);
|
||||||
else if (!strcasecmp(Name, "MarkInstantRecord")) MarkInstantRecord = atoi(Value);
|
else if (!strcasecmp(Name, "MarkInstantRecord")) MarkInstantRecord = atoi(Value);
|
||||||
else if (!strcasecmp(Name, "NameInstantRecord")) Utf8Strn0Cpy(NameInstantRecord, Value, MaxFileName);
|
else if (!strcasecmp(Name, "NameInstantRecord")) Utf8Strn0Cpy(NameInstantRecord, Value, sizeof(NameInstantRecord));
|
||||||
else if (!strcasecmp(Name, "InstantRecordTime")) InstantRecordTime = atoi(Value);
|
else if (!strcasecmp(Name, "InstantRecordTime")) InstantRecordTime = atoi(Value);
|
||||||
else if (!strcasecmp(Name, "LnbSLOF")) LnbSLOF = atoi(Value);
|
else if (!strcasecmp(Name, "LnbSLOF")) LnbSLOF = atoi(Value);
|
||||||
else if (!strcasecmp(Name, "LnbFrequLo")) LnbFrequLo = atoi(Value);
|
else if (!strcasecmp(Name, "LnbFrequLo")) LnbFrequLo = atoi(Value);
|
||||||
@@ -610,6 +612,8 @@ bool cSetup::Parse(const char *Name, const char *Value)
|
|||||||
else if (!strcasecmp(Name, "SVDRPTimeout")) SVDRPTimeout = atoi(Value);
|
else if (!strcasecmp(Name, "SVDRPTimeout")) SVDRPTimeout = atoi(Value);
|
||||||
else if (!strcasecmp(Name, "ZapTimeout")) ZapTimeout = atoi(Value);
|
else if (!strcasecmp(Name, "ZapTimeout")) ZapTimeout = atoi(Value);
|
||||||
else if (!strcasecmp(Name, "ChannelEntryTimeout")) ChannelEntryTimeout= atoi(Value);
|
else if (!strcasecmp(Name, "ChannelEntryTimeout")) ChannelEntryTimeout= atoi(Value);
|
||||||
|
else if (!strcasecmp(Name, "RcRepeatDelay")) RcRepeatDelay = atoi(Value);
|
||||||
|
else if (!strcasecmp(Name, "RcRepeatDelta")) RcRepeatDelta = atoi(Value);
|
||||||
else if (!strcasecmp(Name, "DefaultPriority")) DefaultPriority = atoi(Value);
|
else if (!strcasecmp(Name, "DefaultPriority")) DefaultPriority = atoi(Value);
|
||||||
else if (!strcasecmp(Name, "DefaultLifetime")) DefaultLifetime = atoi(Value);
|
else if (!strcasecmp(Name, "DefaultLifetime")) DefaultLifetime = atoi(Value);
|
||||||
else if (!strcasecmp(Name, "PauseKeyHandling")) PauseKeyHandling = atoi(Value);
|
else if (!strcasecmp(Name, "PauseKeyHandling")) PauseKeyHandling = atoi(Value);
|
||||||
@@ -716,6 +720,8 @@ bool cSetup::Save(void)
|
|||||||
Store("SVDRPTimeout", SVDRPTimeout);
|
Store("SVDRPTimeout", SVDRPTimeout);
|
||||||
Store("ZapTimeout", ZapTimeout);
|
Store("ZapTimeout", ZapTimeout);
|
||||||
Store("ChannelEntryTimeout",ChannelEntryTimeout);
|
Store("ChannelEntryTimeout",ChannelEntryTimeout);
|
||||||
|
Store("RcRepeatDelay", RcRepeatDelay);
|
||||||
|
Store("RcRepeatDelta", RcRepeatDelta);
|
||||||
Store("DefaultPriority", DefaultPriority);
|
Store("DefaultPriority", DefaultPriority);
|
||||||
Store("DefaultLifetime", DefaultLifetime);
|
Store("DefaultLifetime", DefaultLifetime);
|
||||||
Store("PauseKeyHandling", PauseKeyHandling);
|
Store("PauseKeyHandling", PauseKeyHandling);
|
||||||
|
16
config.h
16
config.h
@@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: config.h 2.60 2012/12/30 13:08:41 kls Exp $
|
* $Id: config.h 2.64 2013/02/05 11:19:20 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __CONFIG_H
|
#ifndef __CONFIG_H
|
||||||
@@ -22,13 +22,13 @@
|
|||||||
|
|
||||||
// VDR's own version number:
|
// VDR's own version number:
|
||||||
|
|
||||||
#define VDRVERSION "1.7.36"
|
#define VDRVERSION "1.7.37"
|
||||||
#define VDRVERSNUM 10736 // Version * 10000 + Major * 100 + Minor
|
#define VDRVERSNUM 10737 // Version * 10000 + Major * 100 + Minor
|
||||||
|
|
||||||
// The plugin API's version number:
|
// The plugin API's version number:
|
||||||
|
|
||||||
#define APIVERSION "1.7.36"
|
#define APIVERSION "1.7.37"
|
||||||
#define APIVERSNUM 10736 // Version * 10000 + Major * 100 + Minor
|
#define APIVERSNUM 10737 // 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
|
||||||
@@ -49,7 +49,7 @@
|
|||||||
#define MINOSDHEIGHT 324
|
#define MINOSDHEIGHT 324
|
||||||
#define MAXOSDHEIGHT 1200
|
#define MAXOSDHEIGHT 1200
|
||||||
|
|
||||||
#define MaxFileName 256
|
#define MaxFileName NAME_MAX // obsolete - use NAME_MAX directly instead!
|
||||||
#define MaxSkinName 16
|
#define MaxSkinName 16
|
||||||
#define MaxThemeName 16
|
#define MaxThemeName 16
|
||||||
|
|
||||||
@@ -257,7 +257,7 @@ public:
|
|||||||
int MenuScrollWrap;
|
int MenuScrollWrap;
|
||||||
int MenuKeyCloses;
|
int MenuKeyCloses;
|
||||||
int MarkInstantRecord;
|
int MarkInstantRecord;
|
||||||
char NameInstantRecord[MaxFileName];
|
char NameInstantRecord[NAME_MAX];
|
||||||
int InstantRecordTime;
|
int InstantRecordTime;
|
||||||
int LnbSLOF;
|
int LnbSLOF;
|
||||||
int LnbFrequLo;
|
int LnbFrequLo;
|
||||||
@@ -280,6 +280,8 @@ public:
|
|||||||
int SVDRPTimeout;
|
int SVDRPTimeout;
|
||||||
int ZapTimeout;
|
int ZapTimeout;
|
||||||
int ChannelEntryTimeout;
|
int ChannelEntryTimeout;
|
||||||
|
int RcRepeatDelay;
|
||||||
|
int RcRepeatDelta;
|
||||||
int DefaultPriority, DefaultLifetime;
|
int DefaultPriority, DefaultLifetime;
|
||||||
int PausePriority, PauseLifetime;
|
int PausePriority, PauseLifetime;
|
||||||
int PauseKeyHandling;
|
int PauseKeyHandling;
|
||||||
|
7
cutter.c
7
cutter.c
@@ -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: cutter.c 2.22 2013/01/20 12:04:07 kls Exp $
|
* $Id: cutter.c 2.23 2013/01/23 10:39:27 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "cutter.h"
|
#include "cutter.h"
|
||||||
@@ -206,11 +206,8 @@ void cMpeg2Fixer::AdjGopTime(int Offset, int FramesPerSecond)
|
|||||||
|
|
||||||
void cMpeg2Fixer::AdjTref(int TrefOffset)
|
void cMpeg2Fixer::AdjTref(int TrefOffset)
|
||||||
{
|
{
|
||||||
Reset();
|
if (!FindHeader(0x00000100, "picture"))
|
||||||
if (!Find(0x00000100)) {
|
|
||||||
esyslog("ERROR: Picture header not found!");
|
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
int Tref = GetByte() << 2;
|
int Tref = GetByte() << 2;
|
||||||
int Index1 = GetLastIndex();
|
int Index1 = GetLastIndex();
|
||||||
uchar Byte2 = GetByte();
|
uchar Byte2 = GetByte();
|
||||||
|
9
device.c
9
device.c
@@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: device.c 2.70 2012/11/19 09:59:09 kls Exp $
|
* $Id: device.c 2.71 2013/02/01 12:00:09 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "device.h"
|
#include "device.h"
|
||||||
@@ -98,6 +98,7 @@ cDevice::cDevice(void)
|
|||||||
currentAudioTrack = ttNone;
|
currentAudioTrack = ttNone;
|
||||||
currentAudioTrackMissingCount = 0;
|
currentAudioTrackMissingCount = 0;
|
||||||
currentSubtitleTrack = ttNone;
|
currentSubtitleTrack = ttNone;
|
||||||
|
keepTracks = false;
|
||||||
liveSubtitle = NULL;
|
liveSubtitle = NULL;
|
||||||
dvbSubtitleConverter = NULL;
|
dvbSubtitleConverter = NULL;
|
||||||
autoSelectPreferredSubtitleLanguage = true;
|
autoSelectPreferredSubtitleLanguage = true;
|
||||||
@@ -923,6 +924,8 @@ void cDevice::SetVolume(int Volume, bool Absolute)
|
|||||||
|
|
||||||
void cDevice::ClrAvailableTracks(bool DescriptionsOnly, bool IdsOnly)
|
void cDevice::ClrAvailableTracks(bool DescriptionsOnly, bool IdsOnly)
|
||||||
{
|
{
|
||||||
|
if (keepTracks)
|
||||||
|
return;
|
||||||
if (DescriptionsOnly) {
|
if (DescriptionsOnly) {
|
||||||
for (int i = ttNone; i < ttMaxTrackTypes; i++)
|
for (int i = ttNone; i < ttMaxTrackTypes; i++)
|
||||||
*availableTracks[i].description = 0;
|
*availableTracks[i].description = 0;
|
||||||
@@ -1044,6 +1047,8 @@ bool cDevice::SetCurrentSubtitleTrack(eTrackType Type, bool Manual)
|
|||||||
|
|
||||||
void cDevice::EnsureAudioTrack(bool Force)
|
void cDevice::EnsureAudioTrack(bool Force)
|
||||||
{
|
{
|
||||||
|
if (keepTracks)
|
||||||
|
return;
|
||||||
if (Force || !availableTracks[currentAudioTrack].id) {
|
if (Force || !availableTracks[currentAudioTrack].id) {
|
||||||
eTrackType PreferredTrack = ttAudioFirst;
|
eTrackType PreferredTrack = ttAudioFirst;
|
||||||
int PreferredAudioChannel = 0;
|
int PreferredAudioChannel = 0;
|
||||||
@@ -1075,6 +1080,8 @@ void cDevice::EnsureAudioTrack(bool Force)
|
|||||||
|
|
||||||
void cDevice::EnsureSubtitleTrack(void)
|
void cDevice::EnsureSubtitleTrack(void)
|
||||||
{
|
{
|
||||||
|
if (keepTracks)
|
||||||
|
return;
|
||||||
if (Setup.DisplaySubtitles) {
|
if (Setup.DisplaySubtitles) {
|
||||||
eTrackType PreferredTrack = ttNone;
|
eTrackType PreferredTrack = ttNone;
|
||||||
int LanguagePreference = INT_MAX; // higher than the maximum possible value
|
int LanguagePreference = INT_MAX; // higher than the maximum possible value
|
||||||
|
9
device.h
9
device.h
@@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: device.h 2.43 2013/01/03 08:53:06 kls Exp $
|
* $Id: device.h 2.45 2013/02/01 11:54:08 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __DEVICE_H
|
#ifndef __DEVICE_H
|
||||||
@@ -490,6 +490,7 @@ private:
|
|||||||
cMutex mutexCurrentSubtitleTrack;
|
cMutex mutexCurrentSubtitleTrack;
|
||||||
int currentAudioTrackMissingCount;
|
int currentAudioTrackMissingCount;
|
||||||
bool autoSelectPreferredSubtitleLanguage;
|
bool autoSelectPreferredSubtitleLanguage;
|
||||||
|
bool keepTracks;
|
||||||
int pre_1_3_19_PrivateStream;
|
int pre_1_3_19_PrivateStream;
|
||||||
protected:
|
protected:
|
||||||
virtual void SetAudioTrackDevice(eTrackType Type);
|
virtual void SetAudioTrackDevice(eTrackType Type);
|
||||||
@@ -539,6 +540,10 @@ public:
|
|||||||
void EnsureSubtitleTrack(void);
|
void EnsureSubtitleTrack(void);
|
||||||
///< Makes sure one of the preferred language subtitle tracks is selected.
|
///< Makes sure one of the preferred language subtitle tracks is selected.
|
||||||
///< Only has an effect if Setup.DisplaySubtitles is on.
|
///< Only has an effect if Setup.DisplaySubtitles is on.
|
||||||
|
void SetKeepTracks(bool KeepTracks) { keepTracks = KeepTracks; }
|
||||||
|
///< Controls whether the current audio and subtitle track settings shall
|
||||||
|
///< be kept as they currently are, or if they shall be automatically
|
||||||
|
///< adjusted. This is used when pausing live video.
|
||||||
|
|
||||||
// Audio facilities
|
// Audio facilities
|
||||||
|
|
||||||
@@ -752,7 +757,7 @@ public:
|
|||||||
///< Returns -1 in case of error, otherwise the number of actually
|
///< Returns -1 in case of error, otherwise the number of actually
|
||||||
///< processed bytes is returned.
|
///< processed bytes is returned.
|
||||||
///< PlayTs() shall process the TS packets either as a whole (returning
|
///< PlayTs() shall process the TS packets either as a whole (returning
|
||||||
///< n*TS_SIZE) or not at all, returning 0 or -1 and setting 'errno' accordingly).
|
///< TS_SIZE) or not at all, returning 0 or -1 and setting 'errno' accordingly).
|
||||||
bool Replaying(void) const;
|
bool Replaying(void) const;
|
||||||
///< Returns true if we are currently replaying.
|
///< Returns true if we are currently replaying.
|
||||||
bool Transferring(void) const;
|
bool Transferring(void) const;
|
||||||
|
@@ -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: dvbplayer.c 2.28 2012/06/09 14:37:24 kls Exp $
|
* $Id: dvbplayer.c 2.29 2013/01/27 14:03:16 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "dvbplayer.h"
|
#include "dvbplayer.h"
|
||||||
@@ -548,10 +548,11 @@ void cDvbPlayer::Action(void)
|
|||||||
}
|
}
|
||||||
if (p) {
|
if (p) {
|
||||||
int w;
|
int w;
|
||||||
|
bool VideoOnly = (dropFrame || playMode != pmPlay && !(playMode == pmSlow && playDir == pdForward)) && DeviceIsPlayingVideo();
|
||||||
if (isPesRecording)
|
if (isPesRecording)
|
||||||
w = PlayPes(p, pc, playMode != pmPlay && !(playMode == pmSlow && playDir == pdForward) && DeviceIsPlayingVideo());
|
w = PlayPes(p, pc, VideoOnly);
|
||||||
else
|
else
|
||||||
w = PlayTs(p, pc, playMode != pmPlay && !(playMode == pmSlow && playDir == pdForward) && DeviceIsPlayingVideo());
|
w = PlayTs(p, pc, VideoOnly);
|
||||||
if (w > 0) {
|
if (w > 0) {
|
||||||
p += w;
|
p += w;
|
||||||
pc -= w;
|
pc -= w;
|
||||||
|
34
lirc.c
34
lirc.c
@@ -6,16 +6,13 @@
|
|||||||
*
|
*
|
||||||
* LIRC support added by Carsten Koch <Carsten.Koch@icem.de> 2000-06-16.
|
* LIRC support added by Carsten Koch <Carsten.Koch@icem.de> 2000-06-16.
|
||||||
*
|
*
|
||||||
* $Id: lirc.c 2.1 2011/03/08 15:35:13 kls Exp $
|
* $Id: lirc.c 2.4 2013/02/03 11:23:18 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "lirc.h"
|
#include "lirc.h"
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
|
|
||||||
#define REPEATDELAY 350 // ms
|
|
||||||
#define REPEATFREQ 100 // ms
|
|
||||||
#define REPEATTIMEOUT 500 // ms
|
|
||||||
#define RECONNECTDELAY 3000 // ms
|
#define RECONNECTDELAY 3000 // ms
|
||||||
|
|
||||||
cLircRemote::cLircRemote(const char *DeviceName)
|
cLircRemote::cLircRemote(const char *DeviceName)
|
||||||
@@ -63,8 +60,10 @@ void cLircRemote::Action(void)
|
|||||||
{
|
{
|
||||||
cTimeMs FirstTime;
|
cTimeMs FirstTime;
|
||||||
cTimeMs LastTime;
|
cTimeMs LastTime;
|
||||||
|
cTimeMs ThisTime;
|
||||||
char buf[LIRC_BUFFER_SIZE];
|
char buf[LIRC_BUFFER_SIZE];
|
||||||
char LastKeyName[LIRC_KEY_BUF] = "";
|
char LastKeyName[LIRC_KEY_BUF] = "";
|
||||||
|
bool pressed = false;
|
||||||
bool repeat = false;
|
bool repeat = false;
|
||||||
int timeout = -1;
|
int timeout = -1;
|
||||||
|
|
||||||
@@ -94,34 +93,43 @@ void cLircRemote::Action(void)
|
|||||||
esyslog("ERROR: unparseable lirc command: %s", buf);
|
esyslog("ERROR: unparseable lirc command: %s", buf);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
int Delta = ThisTime.Elapsed(); // the time between two subsequent LIRC events
|
||||||
|
ThisTime.Set();
|
||||||
if (count == 0) {
|
if (count == 0) {
|
||||||
if (strcmp(KeyName, LastKeyName) == 0 && FirstTime.Elapsed() < REPEATDELAY)
|
if (strcmp(KeyName, LastKeyName) == 0 && FirstTime.Elapsed() < (uint)Setup.RcRepeatDelay)
|
||||||
continue; // skip keys coming in too fast
|
continue; // skip keys coming in too fast
|
||||||
if (repeat)
|
if (repeat)
|
||||||
Put(LastKeyName, false, true);
|
Put(LastKeyName, false, true);
|
||||||
strcpy(LastKeyName, KeyName);
|
strcpy(LastKeyName, KeyName);
|
||||||
|
pressed = true;
|
||||||
repeat = false;
|
repeat = false;
|
||||||
FirstTime.Set();
|
FirstTime.Set();
|
||||||
timeout = -1;
|
timeout = -1;
|
||||||
}
|
}
|
||||||
|
else if (FirstTime.Elapsed() < (uint)Setup.RcRepeatDelay)
|
||||||
|
continue; // repeat function kicks in after a short delay
|
||||||
|
else if (LastTime.Elapsed() < (uint)Setup.RcRepeatDelta)
|
||||||
|
continue; // skip same keys coming in too fast
|
||||||
else {
|
else {
|
||||||
if (LastTime.Elapsed() < REPEATFREQ)
|
|
||||||
continue; // repeat function kicks in after a short delay (after last key instead of first key)
|
|
||||||
if (FirstTime.Elapsed() < REPEATDELAY)
|
|
||||||
continue; // skip keys coming in too fast (for count != 0 as well)
|
|
||||||
repeat = true;
|
repeat = true;
|
||||||
timeout = REPEATDELAY;
|
timeout = Delta * 10 / 9;
|
||||||
}
|
}
|
||||||
|
if (pressed)
|
||||||
LastTime.Set();
|
LastTime.Set();
|
||||||
Put(KeyName, repeat);
|
Put(KeyName, repeat);
|
||||||
}
|
}
|
||||||
else if (repeat) { // the last one was a repeat, so let's generate a release
|
else if (pressed && repeat) { // the last one was a repeat, so let's generate a release
|
||||||
if (LastTime.Elapsed() >= REPEATTIMEOUT) {
|
|
||||||
Put(LastKeyName, false, true);
|
Put(LastKeyName, false, true);
|
||||||
|
pressed = false;
|
||||||
|
repeat = false;
|
||||||
|
*LastKeyName = 0;
|
||||||
|
timeout = -1;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
pressed = false;
|
||||||
repeat = false;
|
repeat = false;
|
||||||
*LastKeyName = 0;
|
*LastKeyName = 0;
|
||||||
timeout = -1;
|
timeout = -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
6
menu.c
6
menu.c
@@ -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 2.74 2013/01/17 14:20:08 kls Exp $
|
* $Id: menu.c 2.76 2013/02/02 14:00:39 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
@@ -3186,6 +3186,8 @@ cMenuSetupMisc::cMenuSetupMisc(void)
|
|||||||
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$SVDRP timeout (s)"), &data.SVDRPTimeout));
|
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$SVDRP timeout (s)"), &data.SVDRPTimeout));
|
||||||
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Zap timeout (s)"), &data.ZapTimeout));
|
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Zap timeout (s)"), &data.ZapTimeout));
|
||||||
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Channel entry timeout (ms)"), &data.ChannelEntryTimeout, 0));
|
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Channel entry timeout (ms)"), &data.ChannelEntryTimeout, 0));
|
||||||
|
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Remote control repeat delay (ms)"), &data.RcRepeatDelay, 0));
|
||||||
|
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Remote control repeat delta (ms)"), &data.RcRepeatDelta, 0));
|
||||||
Add(new cMenuEditChanItem(tr("Setup.Miscellaneous$Initial channel"), &data.InitialChannel, tr("Setup.Miscellaneous$as before")));
|
Add(new cMenuEditChanItem(tr("Setup.Miscellaneous$Initial channel"), &data.InitialChannel, tr("Setup.Miscellaneous$as before")));
|
||||||
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Initial volume"), &data.InitialVolume, -1, 255, tr("Setup.Miscellaneous$as before")));
|
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Initial volume"), &data.InitialVolume, -1, 255, tr("Setup.Miscellaneous$as before")));
|
||||||
Add(new cMenuEditBoolItem(tr("Setup.Miscellaneous$Channels wrap"), &data.ChannelsWrap));
|
Add(new cMenuEditBoolItem(tr("Setup.Miscellaneous$Channels wrap"), &data.ChannelsWrap));
|
||||||
@@ -4485,6 +4487,7 @@ cString cReplayControl::fileName;
|
|||||||
cReplayControl::cReplayControl(bool PauseLive)
|
cReplayControl::cReplayControl(bool PauseLive)
|
||||||
:cDvbPlayerControl(fileName, PauseLive)
|
:cDvbPlayerControl(fileName, PauseLive)
|
||||||
{
|
{
|
||||||
|
cDevice::PrimaryDevice()->SetKeepTracks(PauseLive);
|
||||||
currentReplayControl = this;
|
currentReplayControl = this;
|
||||||
displayReplay = NULL;
|
displayReplay = NULL;
|
||||||
marksModified = false;
|
marksModified = false;
|
||||||
@@ -4504,6 +4507,7 @@ cReplayControl::cReplayControl(bool PauseLive)
|
|||||||
|
|
||||||
cReplayControl::~cReplayControl()
|
cReplayControl::~cReplayControl()
|
||||||
{
|
{
|
||||||
|
cDevice::PrimaryDevice()->SetKeepTracks(false);
|
||||||
Hide();
|
Hide();
|
||||||
cStatus::MsgReplaying(this, NULL, fileName, false);
|
cStatus::MsgReplaying(this, NULL, fileName, false);
|
||||||
Stop();
|
Stop();
|
||||||
|
0
menu.cyVkmHd
Normal file
0
menu.cyVkmHd
Normal file
42
osd.c
42
osd.c
@@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: osd.c 2.33 2012/12/15 11:16:41 kls Exp $
|
* $Id: osd.c 2.35 2013/02/08 10:16:47 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "osd.h"
|
#include "osd.h"
|
||||||
@@ -853,12 +853,12 @@ cBitmap *cBitmap::Scaled(double FactorX, double FactorY, bool AntiAlias)
|
|||||||
b->SetBpp(8);
|
b->SetBpp(8);
|
||||||
b->Replace(*this); // copy palette (must be done *after* SetBpp()!)
|
b->Replace(*this); // copy palette (must be done *after* SetBpp()!)
|
||||||
int SourceY = 0;
|
int SourceY = 0;
|
||||||
for (int y = 0; y < b->Height() - 1; y++) {
|
for (int y = 0; y < b->Height(); y++) {
|
||||||
int SourceX = 0;
|
int SourceX = 0;
|
||||||
int sy = SourceY >> 16;
|
int sy = min(SourceY >> 16, Height() - 2);
|
||||||
uint8_t BlendY = 0xFF - ((SourceY >> 8) & 0xFF);
|
uint8_t BlendY = 0xFF - ((SourceY >> 8) & 0xFF);
|
||||||
for (int x = 0; x < b->Width() - 1; x++) {
|
for (int x = 0; x < b->Width(); x++) {
|
||||||
int sx = SourceX >> 16;
|
int sx = min(SourceX >> 16, Width() - 2);
|
||||||
uint8_t BlendX = 0xFF - ((SourceX >> 8) & 0xFF);
|
uint8_t BlendX = 0xFF - ((SourceX >> 8) & 0xFF);
|
||||||
tColor c1 = b->Blend(GetColor(sx, sy), GetColor(sx + 1, sy), BlendX);
|
tColor c1 = b->Blend(GetColor(sx, sy), GetColor(sx + 1, sy), BlendX);
|
||||||
tColor c2 = b->Blend(GetColor(sx, sy + 1), GetColor(sx + 1, sy + 1), BlendX);
|
tColor c2 = b->Blend(GetColor(sx, sy + 1), GetColor(sx + 1, sy + 1), BlendX);
|
||||||
@@ -1631,7 +1631,6 @@ cOsd::cOsd(int Left, int Top, uint Level)
|
|||||||
savedBitmap = NULL;
|
savedBitmap = NULL;
|
||||||
numBitmaps = 0;
|
numBitmaps = 0;
|
||||||
savedPixmap = NULL;
|
savedPixmap = NULL;
|
||||||
numPixmaps = 0;
|
|
||||||
left = Left;
|
left = Left;
|
||||||
top = Top;
|
top = Top;
|
||||||
width = height = 0;
|
width = height = 0;
|
||||||
@@ -1653,7 +1652,7 @@ cOsd::~cOsd()
|
|||||||
delete bitmaps[i];
|
delete bitmaps[i];
|
||||||
delete savedBitmap;
|
delete savedBitmap;
|
||||||
delete savedPixmap;
|
delete savedPixmap;
|
||||||
for (int i = 0; i < numPixmaps; i++)
|
for (int i = 0; i < pixmaps.Size(); i++)
|
||||||
delete pixmaps[i];
|
delete pixmaps[i];
|
||||||
for (int i = 0; i < Osds.Size(); i++) {
|
for (int i = 0; i < Osds.Size(); i++) {
|
||||||
if (Osds[i] == this) {
|
if (Osds[i] == this) {
|
||||||
@@ -1702,15 +1701,11 @@ void cOsd::DestroyPixmap(cPixmap *Pixmap)
|
|||||||
{
|
{
|
||||||
if (isTrueColor) {
|
if (isTrueColor) {
|
||||||
LOCK_PIXMAPS;
|
LOCK_PIXMAPS;
|
||||||
for (int i = 1; i < numPixmaps; i++) { // begin at 1 - don't let the background pixmap be destroyed!
|
for (int i = 1; i < pixmaps.Size(); i++) { // begin at 1 - don't let the background pixmap be destroyed!
|
||||||
if (pixmaps[i] == Pixmap) {
|
if (pixmaps[i] == Pixmap) {
|
||||||
pixmaps[0]->MarkViewPortDirty(Pixmap->ViewPort());
|
pixmaps[0]->MarkViewPortDirty(Pixmap->ViewPort());
|
||||||
delete Pixmap;
|
delete Pixmap;
|
||||||
while (i < numPixmaps - 1) {
|
pixmaps[i] = NULL;
|
||||||
pixmaps[i] = pixmaps[i + 1];
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
numPixmaps--;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1722,12 +1717,13 @@ cPixmap *cOsd::AddPixmap(cPixmap *Pixmap)
|
|||||||
{
|
{
|
||||||
if (Pixmap) {
|
if (Pixmap) {
|
||||||
LOCK_PIXMAPS;
|
LOCK_PIXMAPS;
|
||||||
if (numPixmaps < MAXOSDPIXMAPS)
|
for (int i = 0; i < pixmaps.Size(); i++) {
|
||||||
return pixmaps[numPixmaps++] = Pixmap;
|
if (!pixmaps[i])
|
||||||
else
|
return pixmaps[i] = Pixmap;
|
||||||
esyslog("ERROR: too many OSD pixmaps requested (maximum is %d)", MAXOSDPIXMAPS);
|
|
||||||
}
|
}
|
||||||
return NULL;
|
pixmaps.Append(Pixmap);
|
||||||
|
}
|
||||||
|
return Pixmap;
|
||||||
}
|
}
|
||||||
|
|
||||||
cPixmapMemory *cOsd::RenderPixmaps(void)
|
cPixmapMemory *cOsd::RenderPixmaps(void)
|
||||||
@@ -1737,8 +1733,8 @@ cPixmapMemory *cOsd::RenderPixmaps(void)
|
|||||||
LOCK_PIXMAPS;
|
LOCK_PIXMAPS;
|
||||||
// Collect overlapping dirty rectangles:
|
// Collect overlapping dirty rectangles:
|
||||||
cRect d;
|
cRect d;
|
||||||
for (int i = 0; i < numPixmaps; i++) {
|
for (int i = 0; i < pixmaps.Size(); i++) {
|
||||||
cPixmap *pm = pixmaps[i];
|
if (cPixmap *pm = pixmaps[i]) {
|
||||||
if (!pm->DirtyViewPort().IsEmpty()) {
|
if (!pm->DirtyViewPort().IsEmpty()) {
|
||||||
if (d.IsEmpty() || d.Intersects(pm->DirtyViewPort())) {
|
if (d.IsEmpty() || d.Intersects(pm->DirtyViewPort())) {
|
||||||
d.Combine(pm->DirtyViewPort());
|
d.Combine(pm->DirtyViewPort());
|
||||||
@@ -1746,6 +1742,7 @@ cPixmapMemory *cOsd::RenderPixmaps(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (!d.IsEmpty()) {
|
if (!d.IsEmpty()) {
|
||||||
//#define DebugDirty
|
//#define DebugDirty
|
||||||
#ifdef DebugDirty
|
#ifdef DebugDirty
|
||||||
@@ -1758,12 +1755,13 @@ cPixmapMemory *cOsd::RenderPixmaps(void)
|
|||||||
Pixmap->Clear();
|
Pixmap->Clear();
|
||||||
// Render the individual pixmaps into the resulting pixmap:
|
// Render the individual pixmaps into the resulting pixmap:
|
||||||
for (int Layer = 0; Layer < MAXPIXMAPLAYERS; Layer++) {
|
for (int Layer = 0; Layer < MAXPIXMAPLAYERS; Layer++) {
|
||||||
for (int i = 0; i < numPixmaps; i++) {
|
for (int i = 0; i < pixmaps.Size(); i++) {
|
||||||
cPixmap *pm = pixmaps[i];
|
if (cPixmap *pm = pixmaps[i]) {
|
||||||
if (pm->Layer() == Layer)
|
if (pm->Layer() == Layer)
|
||||||
Pixmap->DrawPixmap(pm, d);
|
Pixmap->DrawPixmap(pm, d);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
#ifdef DebugDirty
|
#ifdef DebugDirty
|
||||||
cPixmapMemory DirtyIndicator(7, NewDirty);
|
cPixmapMemory DirtyIndicator(7, NewDirty);
|
||||||
static tColor DirtyIndicatorColors[] = { 0x7FFFFF00, 0x7F00FFFF };
|
static tColor DirtyIndicatorColors[] = { 0x7FFFFF00, 0x7F00FFFF };
|
||||||
|
17
osd.h
17
osd.h
@@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: osd.h 2.18 2012/12/03 13:49:02 kls Exp $
|
* $Id: osd.h 2.19 2013/02/08 09:47:56 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __OSD_H
|
#ifndef __OSD_H
|
||||||
@@ -701,7 +701,6 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define MAXOSDAREAS 16
|
#define MAXOSDAREAS 16
|
||||||
#define MAXOSDPIXMAPS 64
|
|
||||||
|
|
||||||
/// The cOsd class is the interface to the "On Screen Display".
|
/// The cOsd class is the interface to the "On Screen Display".
|
||||||
/// An actual output device needs to derive from this class and implement
|
/// An actual output device needs to derive from this class and implement
|
||||||
@@ -725,8 +724,7 @@ private:
|
|||||||
cBitmap *bitmaps[MAXOSDAREAS];
|
cBitmap *bitmaps[MAXOSDAREAS];
|
||||||
int numBitmaps;
|
int numBitmaps;
|
||||||
cPixmapMemory *savedPixmap;
|
cPixmapMemory *savedPixmap;
|
||||||
cPixmap *pixmaps[MAXOSDPIXMAPS];
|
cVector<cPixmap *> pixmaps;
|
||||||
int numPixmaps;
|
|
||||||
int left, top, width, height;
|
int left, top, width, height;
|
||||||
uint level;
|
uint level;
|
||||||
bool active;
|
bool active;
|
||||||
@@ -755,14 +753,10 @@ protected:
|
|||||||
virtual void SetActive(bool On) { active = On; }
|
virtual void SetActive(bool On) { active = On; }
|
||||||
///< Sets this OSD to be the active one.
|
///< Sets this OSD to be the active one.
|
||||||
///< A derived class must call cOsd::SetActive(On).
|
///< A derived class must call cOsd::SetActive(On).
|
||||||
const cPixmap * const *Pixmaps(void) { return pixmaps; }
|
|
||||||
///< Returns the list of currently active pixmaps in this OSD.
|
|
||||||
int NumPixmaps(void) { return numPixmaps; }
|
|
||||||
///< Returns the number of currently active pixmaps in this OSD.
|
|
||||||
cPixmap *AddPixmap(cPixmap *Pixmap);
|
cPixmap *AddPixmap(cPixmap *Pixmap);
|
||||||
///< Adds the given Pixmap to the list of currently active pixmaps in this OSD.
|
///< Adds the given Pixmap to the list of currently active pixmaps in this OSD.
|
||||||
///< Returns Pixmap if the operation was successful, or NULL if the maximum
|
///< Returns Pixmap if the operation was successful, or NULL if for some reason
|
||||||
///< number of pixmaps has been exceeded.
|
///< the pixmap could not be added to the list.
|
||||||
///< A derived class that implements its own cPixmap class must call AddPixmap()
|
///< A derived class that implements its own cPixmap class must call AddPixmap()
|
||||||
///< in order to add a newly created pixmap to the OSD's list of pixmaps.
|
///< in order to add a newly created pixmap to the OSD's list of pixmaps.
|
||||||
cPixmapMemory *RenderPixmaps(void);
|
cPixmapMemory *RenderPixmaps(void);
|
||||||
@@ -824,7 +818,8 @@ public:
|
|||||||
///< The caller must not delete the returned object, it will be deleted when
|
///< The caller must not delete the returned object, it will be deleted when
|
||||||
///< the OSD is deleted. DestroyPixmap() can be called if a pixmap shall be
|
///< the OSD is deleted. DestroyPixmap() can be called if a pixmap shall be
|
||||||
///< destroyed before the OSD is deleted.
|
///< destroyed before the OSD is deleted.
|
||||||
///< If this is not a true color OSD, this function returns NULL.
|
///< If this is not a true color OSD, or if the pixmap could not be created
|
||||||
|
///< due to limited resources, this function returns NULL.
|
||||||
virtual void DestroyPixmap(cPixmap *Pixmap);
|
virtual void DestroyPixmap(cPixmap *Pixmap);
|
||||||
///< Destroys the given Pixmap, which has previously been created by a call to
|
///< Destroys the given Pixmap, which has previously been created by a call to
|
||||||
///< CreatePixmap(). When the OSD is deleted, all pixmaps are destroyed
|
///< CreatePixmap(). When the OSD is deleted, all pixmaps are destroyed
|
||||||
|
8
po/ar.po
8
po/ar.po
@@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.7.0\n"
|
"Project-Id-Version: VDR 1.7.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2008-10-16 11:16-0400\n"
|
"PO-Revision-Date: 2008-10-16 11:16-0400\n"
|
||||||
"Last-Translator: Osama Alrawab <alrawab@hotmail.com>\n"
|
"Last-Translator: Osama Alrawab <alrawab@hotmail.com>\n"
|
||||||
"Language-Team: Arabic <ar@li.org>\n"
|
"Language-Team: Arabic <ar@li.org>\n"
|
||||||
@@ -1154,6 +1154,12 @@ msgstr ""
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "مدة انتهاء مدخلات القناة بالدقيقة"
|
msgstr "مدة انتهاء مدخلات القناة بالدقيقة"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "القناة الاساسية"
|
msgstr "القناة الاساسية"
|
||||||
|
|
||||||
|
@@ -10,7 +10,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.6.0\n"
|
"Project-Id-Version: VDR 1.6.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2008-03-02 19:02+0100\n"
|
"PO-Revision-Date: 2008-03-02 19:02+0100\n"
|
||||||
"Last-Translator: Luca Olivetti <luca@ventoso.org>\n"
|
"Last-Translator: Luca Olivetti <luca@ventoso.org>\n"
|
||||||
"Language-Team: Catalan <vdr@linuxtv.org>\n"
|
"Language-Team: Catalan <vdr@linuxtv.org>\n"
|
||||||
@@ -1131,6 +1131,12 @@ msgstr "Temps d'espera Zap (s)"
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "Temps d'introducci<63> canal (ms)"
|
msgstr "Temps d'introducci<63> canal (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "Canal inicial"
|
msgstr "Canal inicial"
|
||||||
|
|
||||||
|
@@ -9,7 +9,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.7.14\n"
|
"Project-Id-Version: VDR 1.7.14\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2010-05-06 11:00+0200\n"
|
"PO-Revision-Date: 2010-05-06 11:00+0200\n"
|
||||||
"Last-Translator: Radek Šťastný <dedkus@gmail.com>\n"
|
"Last-Translator: Radek Šťastný <dedkus@gmail.com>\n"
|
||||||
"Language-Team: Czech <vdr@linuxtv.org>\n"
|
"Language-Team: Czech <vdr@linuxtv.org>\n"
|
||||||
@@ -1130,6 +1130,12 @@ msgstr "Časový limit Zap (s)"
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "Prodleva při volbě kanálu (ms)"
|
msgstr "Prodleva při volbě kanálu (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "Kanál po spuštění"
|
msgstr "Kanál po spuštění"
|
||||||
|
|
||||||
|
@@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.6.0\n"
|
"Project-Id-Version: VDR 1.6.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
|
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
|
||||||
"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n"
|
"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n"
|
||||||
"Language-Team: Danish <vdr@linuxtv.org>\n"
|
"Language-Team: Danish <vdr@linuxtv.org>\n"
|
||||||
@@ -1128,6 +1128,12 @@ msgstr "Zap timeout (s)"
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "Kanal adgang timeout (ms)"
|
msgstr "Kanal adgang timeout (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "Kanal ved opstart"
|
msgstr "Kanal ved opstart"
|
||||||
|
|
||||||
|
@@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.6.0\n"
|
"Project-Id-Version: VDR 1.6.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2010-01-16 16:46+0100\n"
|
"PO-Revision-Date: 2010-01-16 16:46+0100\n"
|
||||||
"Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n"
|
"Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n"
|
||||||
"Language-Team: German <vdr@linuxtv.org>\n"
|
"Language-Team: German <vdr@linuxtv.org>\n"
|
||||||
@@ -1128,6 +1128,12 @@ msgstr "Mindestzeit f
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "Zeitlimit f<>r Kanaleingabe (ms)"
|
msgstr "Zeitlimit f<>r Kanaleingabe (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr "Fernbedienung Wiederholverz<72>gerung (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr "Fernbedienung Wiederholintervall (ms)"
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "Kanal beim Einschalten"
|
msgstr "Kanal beim Einschalten"
|
||||||
|
|
||||||
|
@@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.6.0\n"
|
"Project-Id-Version: VDR 1.6.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
|
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
|
||||||
"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n"
|
"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n"
|
||||||
"Language-Team: Greek <vdr@linuxtv.org>\n"
|
"Language-Team: Greek <vdr@linuxtv.org>\n"
|
||||||
@@ -1128,6 +1128,12 @@ msgstr "
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.6.0\n"
|
"Project-Id-Version: VDR 1.6.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2008-03-02 19:02+0100\n"
|
"PO-Revision-Date: 2008-03-02 19:02+0100\n"
|
||||||
"Last-Translator: Luca Olivetti <luca@ventoso.org>\n"
|
"Last-Translator: Luca Olivetti <luca@ventoso.org>\n"
|
||||||
"Language-Team: Spanish <vdr@linuxtv.org>\n"
|
"Language-Team: Spanish <vdr@linuxtv.org>\n"
|
||||||
@@ -1129,6 +1129,12 @@ msgstr "Considerar canal como visto (sg)"
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "Tiempo introducci<63>n canal (ms)"
|
msgstr "Tiempo introducci<63>n canal (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "Canal inicial"
|
msgstr "Canal inicial"
|
||||||
|
|
||||||
|
@@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.6.0\n"
|
"Project-Id-Version: VDR 1.6.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
|
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
|
||||||
"Last-Translator: Arthur Konovalov <artlov@gmail.com>\n"
|
"Last-Translator: Arthur Konovalov <artlov@gmail.com>\n"
|
||||||
"Language-Team: Estonian <vdr@linuxtv.org>\n"
|
"Language-Team: Estonian <vdr@linuxtv.org>\n"
|
||||||
@@ -1128,6 +1128,12 @@ msgstr "Kanalivahetuse ooteaeg (s)"
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "Kanali sisestamise ajalimiit (ms)"
|
msgstr "Kanali sisestamise ajalimiit (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "Kanal käivitamisel"
|
msgstr "Kanal käivitamisel"
|
||||||
|
|
||||||
|
@@ -10,7 +10,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.6.0\n"
|
"Project-Id-Version: VDR 1.6.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2007-08-15 15:52+0200\n"
|
"PO-Revision-Date: 2007-08-15 15:52+0200\n"
|
||||||
"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
|
"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
|
||||||
"Language-Team: Finnish <vdr@linuxtv.org>\n"
|
"Language-Team: Finnish <vdr@linuxtv.org>\n"
|
||||||
@@ -1131,6 +1131,12 @@ msgstr "Kanavavalinnan odotusaika (s)"
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "Kanavasyötteen odotusaika (ms)"
|
msgstr "Kanavasyötteen odotusaika (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "Kanava käynnistettäessä"
|
msgstr "Kanava käynnistettäessä"
|
||||||
|
|
||||||
|
@@ -13,7 +13,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.6.0\n"
|
"Project-Id-Version: VDR 1.6.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2008-02-27 18:14+0100\n"
|
"PO-Revision-Date: 2008-02-27 18:14+0100\n"
|
||||||
"Last-Translator: Jean-Claude Repetto <jc@repetto.org>\n"
|
"Last-Translator: Jean-Claude Repetto <jc@repetto.org>\n"
|
||||||
"Language-Team: French <vdr@linuxtv.org>\n"
|
"Language-Team: French <vdr@linuxtv.org>\n"
|
||||||
@@ -1134,6 +1134,12 @@ msgstr "Prise en compte cha
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "Entr<74>e cha<68>ne timeout (ms)"
|
msgstr "Entr<74>e cha<68>ne timeout (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "Cha<68>ne initiale"
|
msgstr "Cha<68>ne initiale"
|
||||||
|
|
||||||
|
@@ -9,7 +9,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.6.0\n"
|
"Project-Id-Version: VDR 1.6.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2008-03-17 19:00+0100\n"
|
"PO-Revision-Date: 2008-03-17 19:00+0100\n"
|
||||||
"Last-Translator: Adrian Caval <anrxc@sysphere.org>\n"
|
"Last-Translator: Adrian Caval <anrxc@sysphere.org>\n"
|
||||||
"Language-Team: Croatian <vdr@linuxtv.org>\n"
|
"Language-Team: Croatian <vdr@linuxtv.org>\n"
|
||||||
@@ -1130,6 +1130,12 @@ msgstr "Zap istje
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "Upis kanala istje<6A>e (ms)"
|
msgstr "Upis kanala istje<6A>e (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "Po<50>etni kanal"
|
msgstr "Po<50>etni kanal"
|
||||||
|
|
||||||
|
@@ -10,7 +10,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.6.0\n"
|
"Project-Id-Version: VDR 1.6.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2012-01-02 11:54+0200\n"
|
"PO-Revision-Date: 2012-01-02 11:54+0200\n"
|
||||||
"Last-Translator: Istv<74>n F<>ley <ifuley@tigercomp.ro>\n"
|
"Last-Translator: Istv<74>n F<>ley <ifuley@tigercomp.ro>\n"
|
||||||
"Language-Team: Hungarian <vdr@linuxtv.org>\n"
|
"Language-Team: Hungarian <vdr@linuxtv.org>\n"
|
||||||
@@ -1132,6 +1132,12 @@ msgstr "Ad
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "Csatornav<61>lt<6C>s timeout (ms)"
|
msgstr "Csatornav<61>lt<6C>s timeout (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "Csatorna indul<75>skor"
|
msgstr "Csatorna indul<75>skor"
|
||||||
|
|
||||||
|
@@ -11,7 +11,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.6.0\n"
|
"Project-Id-Version: VDR 1.6.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2012-12-22 19:00+0100\n"
|
"PO-Revision-Date: 2012-12-22 19:00+0100\n"
|
||||||
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
|
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
|
||||||
"Language-Team: Italian <vdr@linuxtv.org>\n"
|
"Language-Team: Italian <vdr@linuxtv.org>\n"
|
||||||
@@ -1135,6 +1135,12 @@ msgstr "Scadenza Zapping (s)"
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "Scadenza voce canale (ms)"
|
msgstr "Scadenza voce canale (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "Canale iniziale"
|
msgstr "Canale iniziale"
|
||||||
|
|
||||||
|
@@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.7.16\n"
|
"Project-Id-Version: VDR 1.7.16\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2010-10-30 11:55+0200\n"
|
"PO-Revision-Date: 2010-10-30 11:55+0200\n"
|
||||||
"Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n"
|
"Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n"
|
||||||
"Language-Team: Lithuanian <vdr@linuxtv.org>\n"
|
"Language-Team: Lithuanian <vdr@linuxtv.org>\n"
|
||||||
@@ -1128,6 +1128,12 @@ msgstr "Kanalo perjungimo užlaikymas (s)"
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "Užlaikymas (ms) kanalo įvedimui"
|
msgstr "Užlaikymas (ms) kanalo įvedimui"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "Kanalas įjungimo metu"
|
msgstr "Kanalas įjungimo metu"
|
||||||
|
|
||||||
|
@@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR-1.7.14\n"
|
"Project-Id-Version: VDR-1.7.14\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2012-11-19 15:18+0100\n"
|
"PO-Revision-Date: 2012-11-19 15:18+0100\n"
|
||||||
"Last-Translator: Dimitar Petrovski <dimeptr@gmail.com>\n"
|
"Last-Translator: Dimitar Petrovski <dimeptr@gmail.com>\n"
|
||||||
"Language-Team: Macedonian <en@li.org>\n"
|
"Language-Team: Macedonian <en@li.org>\n"
|
||||||
@@ -1129,6 +1129,12 @@ msgstr "Зап тајмаут (сек)"
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "Тајмаут за внес на канал (ms)"
|
msgstr "Тајмаут за внес на канал (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "Почетен канал"
|
msgstr "Почетен канал"
|
||||||
|
|
||||||
|
@@ -11,7 +11,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.6.0\n"
|
"Project-Id-Version: VDR 1.6.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2008-02-26 17:20+0100\n"
|
"PO-Revision-Date: 2008-02-26 17:20+0100\n"
|
||||||
"Last-Translator: Johan Schuring <johan.schuring@vetteblei.nl>\n"
|
"Last-Translator: Johan Schuring <johan.schuring@vetteblei.nl>\n"
|
||||||
"Language-Team: Dutch <vdr@linuxtv.org>\n"
|
"Language-Team: Dutch <vdr@linuxtv.org>\n"
|
||||||
@@ -1132,6 +1132,12 @@ msgstr "Zap timeout (s)"
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "Tijdsduur kanaalinvoer (ms)"
|
msgstr "Tijdsduur kanaalinvoer (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "Opstartkanaal"
|
msgstr "Opstartkanaal"
|
||||||
|
|
||||||
|
@@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.6.0\n"
|
"Project-Id-Version: VDR 1.6.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
|
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
|
||||||
"Last-Translator: Truls Slevigen <truls@slevigen.no>\n"
|
"Last-Translator: Truls Slevigen <truls@slevigen.no>\n"
|
||||||
"Language-Team: Norwegian Nynorsk <vdr@linuxtv.org>\n"
|
"Language-Team: Norwegian Nynorsk <vdr@linuxtv.org>\n"
|
||||||
@@ -1129,6 +1129,12 @@ msgstr ""
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.6.0\n"
|
"Project-Id-Version: VDR 1.6.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2008-03-09 12:59+0100\n"
|
"PO-Revision-Date: 2008-03-09 12:59+0100\n"
|
||||||
"Last-Translator: Michael Rakowski <mrak@gmx.de>\n"
|
"Last-Translator: Michael Rakowski <mrak@gmx.de>\n"
|
||||||
"Language-Team: Polish <vdr@linuxtv.org>\n"
|
"Language-Team: Polish <vdr@linuxtv.org>\n"
|
||||||
@@ -1129,6 +1129,12 @@ msgstr "Czas oczekiwania na zap (s)"
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "Min<69><6E> czas wej<65>cia do kana<6E>u"
|
msgstr "Min<69><6E> czas wej<65>cia do kana<6E>u"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "Pocz<63>tkowy kana<6E>"
|
msgstr "Pocz<63>tkowy kana<6E>"
|
||||||
|
|
||||||
|
@@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.7.15\n"
|
"Project-Id-Version: VDR 1.7.15\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2010-03-28 22:49+0100\n"
|
"PO-Revision-Date: 2010-03-28 22:49+0100\n"
|
||||||
"Last-Translator: Cris Silva <hudokkow@gmail.com>\n"
|
"Last-Translator: Cris Silva <hudokkow@gmail.com>\n"
|
||||||
"Language-Team: Portuguese <vdr@linuxtv.org>\n"
|
"Language-Team: Portuguese <vdr@linuxtv.org>\n"
|
||||||
@@ -1129,6 +1129,12 @@ msgstr "Tempo de espera entre mudan
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "Tempo de espera ao mudar de canal (ms)"
|
msgstr "Tempo de espera ao mudar de canal (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "Canal inicial"
|
msgstr "Canal inicial"
|
||||||
|
|
||||||
|
@@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.7.12\n"
|
"Project-Id-Version: VDR 1.7.12\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2012-11-05 01:28+0100\n"
|
"PO-Revision-Date: 2012-11-05 01:28+0100\n"
|
||||||
"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n"
|
"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n"
|
||||||
"Language-Team: Romanian <vdr@linuxtv.org>\n"
|
"Language-Team: Romanian <vdr@linuxtv.org>\n"
|
||||||
@@ -1131,6 +1131,12 @@ msgstr "Interval zapping (s)"
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "Timeout la introducerea canalului (ms)"
|
msgstr "Timeout la introducerea canalului (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "Canalul de pornire"
|
msgstr "Canalul de pornire"
|
||||||
|
|
||||||
|
@@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.6.0\n"
|
"Project-Id-Version: VDR 1.6.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2008-12-15 14:37+0100\n"
|
"PO-Revision-Date: 2008-12-15 14:37+0100\n"
|
||||||
"Last-Translator: Oleg Roitburd <oleg@roitburd.de>\n"
|
"Last-Translator: Oleg Roitburd <oleg@roitburd.de>\n"
|
||||||
"Language-Team: Russian <vdr@linuxtv.org>\n"
|
"Language-Team: Russian <vdr@linuxtv.org>\n"
|
||||||
@@ -1129,6 +1129,12 @@ msgstr "
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (ms)"
|
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||||
|
|
||||||
|
182
po/sk_SK.po
182
po/sk_SK.po
@@ -1,14 +1,14 @@
|
|||||||
# VDR language source file.
|
# VDR language source file.
|
||||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||||
# This file is distributed under the same license as the VDR package.
|
# This file is distributed under the same license as the VDR package.
|
||||||
# Milan Hrala <hrala.milan@gmail.com>, 2011
|
# Milan Hrala <hrala.milan@gmail.com>, 2011, 2013
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.7.16\n"
|
"Project-Id-Version: VDR 1.7.16\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2011-02-15 16:29+0100\n"
|
"PO-Revision-Date: 2013-01-29 22:39+0100\n"
|
||||||
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
|
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
|
||||||
"Language-Team: Slovak <vdr@linuxtv.org>\n"
|
"Language-Team: Slovak <vdr@linuxtv.org>\n"
|
||||||
"Language: sk\n"
|
"Language: sk\n"
|
||||||
@@ -74,7 +74,7 @@ msgid "Rolloff"
|
|||||||
msgstr "Rolloff"
|
msgstr "Rolloff"
|
||||||
|
|
||||||
msgid "PlpId"
|
msgid "PlpId"
|
||||||
msgstr ""
|
msgstr "PlpId"
|
||||||
|
|
||||||
msgid "Starting EPG scan"
|
msgid "Starting EPG scan"
|
||||||
msgstr "Za<5A><61>na preh<65>ad<61>va<76> EPG"
|
msgstr "Za<5A><61>na preh<65>ad<61>va<76> EPG"
|
||||||
@@ -329,50 +329,50 @@ msgstr "Slovensky"
|
|||||||
|
|
||||||
#. TRANSLATORS: The 3-letter code of the language
|
#. TRANSLATORS: The 3-letter code of the language
|
||||||
msgid "LanguageCode$eng"
|
msgid "LanguageCode$eng"
|
||||||
msgstr "slv"
|
msgstr "slk"
|
||||||
|
|
||||||
msgid "Phase 1: Detecting RC code type"
|
msgid "Phase 1: Detecting RC code type"
|
||||||
msgstr "F<>za 1: Detekcia typu k<EFBFBD>du"
|
msgstr "F<>za 1: Detekcia typu dia<EFBFBD>kov<EFBFBD>ho ovl<76>dania"
|
||||||
|
|
||||||
msgid "Press any key on the RC unit"
|
msgid "Press any key on the RC unit"
|
||||||
msgstr "Stla<6C>te <20>ubovoln<6C> kl<EFBFBD>vesu ovl<76>dania"
|
msgstr "Stla<6C>te <20>ubovoln<6C> tla<EFBFBD>idlo ovl<76>dania"
|
||||||
|
|
||||||
msgid "RC code detected!"
|
msgid "RC code detected!"
|
||||||
msgstr "K<EFBFBD>d bol zisten<65>!"
|
msgstr "Bol zosn<73>man<61> k<>d dia<69>kov<6F>ho ovl<76>dania!"
|
||||||
|
|
||||||
msgid "Do not press any key..."
|
msgid "Do not press any key..."
|
||||||
msgstr "Nestl<74><6C>ajte <20>iadne kl<6B>vesy..."
|
msgstr "Nestl<74><6C>ajte <20>iadne kl<6B>vesy..."
|
||||||
|
|
||||||
msgid "Phase 2: Learning specific key codes"
|
msgid "Phase 2: Learning specific key codes"
|
||||||
msgstr "F<>za 2: Ur<55>enie konkr<EFBFBD>tneho k<>du kl<6B>ves"
|
msgstr "F<>za 2: Ur<55>enie funkcie tla<6C>idiel"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Press key for '%s'"
|
msgid "Press key for '%s'"
|
||||||
msgstr "Stla<6C>te kl<EFBFBD>vesu pre '%s'"
|
msgstr "Stla<6C>te tla<EFBFBD>idlo pre funkciu '%s'"
|
||||||
|
|
||||||
msgid "Press 'Up' to confirm"
|
msgid "Press 'Up' to confirm"
|
||||||
msgstr "Pre potvrdenie stla<6C>te kl<EFBFBD>vesu 'Hore'"
|
msgstr "Pre potvrdenie stla<6C>te tla<EFBFBD>idlo 'Hore'"
|
||||||
|
|
||||||
msgid "Press 'Down' to continue"
|
msgid "Press 'Down' to continue"
|
||||||
msgstr "Pokra<72>ujete stla<6C>en<65>m kl<EFBFBD>vesy 'Dole' "
|
msgstr "Pokra<72>ujete stla<6C>en<65>m tla<EFBFBD>idla 'Dole' "
|
||||||
|
|
||||||
msgid "(press 'Up' to go back)"
|
msgid "(press 'Up' to go back)"
|
||||||
msgstr "(Vr<56>tite sa stla<6C>en<65>m kl<EFBFBD>vesy 'hore')"
|
msgstr "(Vr<56>tite sa stla<6C>en<65>m tla<EFBFBD>idla 'hore')"
|
||||||
|
|
||||||
msgid "(press 'Down' to end key definition)"
|
msgid "(press 'Down' to end key definition)"
|
||||||
msgstr "(Definovanie tla<6C><EFBFBD>tok ukon<6F><6E>te stla<6C>en<65>m kl<EFBFBD>vesy 'dole')"
|
msgstr "(Definovanie tla<6C>idiel ukon<6F><6E>te stla<6C>en<65>m tla<EFBFBD>idla 'dole')"
|
||||||
|
|
||||||
msgid "(press 'Menu' to skip this key)"
|
msgid "(press 'Menu' to skip this key)"
|
||||||
msgstr "(stla<6C>en<65>m 'Menu' presko<6B><6F>te defin<69>ciu kl<EFBFBD>vesy)"
|
msgstr "(stla<6C>en<65>m 'Menu' presko<6B><6F>te defin<69>ciu tla<EFBFBD>idla)"
|
||||||
|
|
||||||
msgid "Learning Remote Control Keys"
|
msgid "Learning Remote Control Keys"
|
||||||
msgstr "Ur<EFBFBD>enie k<>du dia<69>kov<6F>ho ovl<76>dania"
|
msgstr "Programovanie dia<69>kov<6F>ho ovl<76>dania"
|
||||||
|
|
||||||
msgid "Phase 3: Saving key codes"
|
msgid "Phase 3: Saving key codes"
|
||||||
msgstr "F<>za 3: Ulo<6C>enie k<>du"
|
msgstr "F<>za 3: Ulo<6C>enie k<>du tla<6C>idiel"
|
||||||
|
|
||||||
msgid "Press 'Up' to save, 'Down' to cancel"
|
msgid "Press 'Up' to save, 'Down' to cancel"
|
||||||
msgstr "Stla<EFBFBD>en<EFBFBD>m 'hore' ulo<6C><6F>te, 'Dole' zru<72><75>te"
|
msgstr "Nastavenie stla<6C>en<65>m tla<6C>idla 'hore' ulo<6C><6F>te, 'Dole' zru<72><75>te"
|
||||||
|
|
||||||
msgid "Key$Up"
|
msgid "Key$Up"
|
||||||
msgstr "Hore"
|
msgstr "Hore"
|
||||||
@@ -411,13 +411,13 @@ msgid "Key$Info"
|
|||||||
msgstr "Info"
|
msgstr "Info"
|
||||||
|
|
||||||
msgid "Key$Play/Pause"
|
msgid "Key$Play/Pause"
|
||||||
msgstr ""
|
msgstr "Prehra<EFBFBD>/Pozastavi<76>"
|
||||||
|
|
||||||
msgid "Key$Play"
|
msgid "Key$Play"
|
||||||
msgstr "Prehra<72>"
|
msgstr "Prehra<72>"
|
||||||
|
|
||||||
msgid "Key$Pause"
|
msgid "Key$Pause"
|
||||||
msgstr "Preru<EFBFBD>i<EFBFBD>"
|
msgstr "Pozastavi<EFBFBD>"
|
||||||
|
|
||||||
msgid "Key$Stop"
|
msgid "Key$Stop"
|
||||||
msgstr "Zastavi<76>"
|
msgstr "Zastavi<76>"
|
||||||
@@ -432,10 +432,10 @@ msgid "Key$FastRew"
|
|||||||
msgstr "Preto<74>i<EFBFBD> sp<73><70>"
|
msgstr "Preto<74>i<EFBFBD> sp<73><70>"
|
||||||
|
|
||||||
msgid "Key$Next"
|
msgid "Key$Next"
|
||||||
msgstr "<EFBFBD>alej"
|
msgstr "Nasleduj<EFBFBD>ci"
|
||||||
|
|
||||||
msgid "Key$Prev"
|
msgid "Key$Prev"
|
||||||
msgstr "Sp<EFBFBD><EFBFBD>"
|
msgstr "Predch<EFBFBD>dzaj<EFBFBD>ci"
|
||||||
|
|
||||||
msgid "Key$Power"
|
msgid "Key$Power"
|
||||||
msgstr "Vyp<79>na<6E>"
|
msgstr "Vyp<79>na<6E>"
|
||||||
@@ -465,7 +465,7 @@ msgid "Key$Subtitles"
|
|||||||
msgstr "Titulky"
|
msgstr "Titulky"
|
||||||
|
|
||||||
msgid "Key$Schedule"
|
msgid "Key$Schedule"
|
||||||
msgstr "Program (EPG)"
|
msgstr "Telev<EFBFBD>zny program"
|
||||||
|
|
||||||
msgid "Key$Channels"
|
msgid "Key$Channels"
|
||||||
msgstr "Kan<61>ly"
|
msgstr "Kan<61>ly"
|
||||||
@@ -519,7 +519,7 @@ msgid "encrypted"
|
|||||||
msgstr "k<>dovan<61>"
|
msgstr "k<>dovan<61>"
|
||||||
|
|
||||||
msgid "Edit channel"
|
msgid "Edit channel"
|
||||||
msgstr "<22>pravy kan<61>lu"
|
msgstr "Prisp<EFBFBD>sobi<EFBFBD> kan<61>l"
|
||||||
|
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "N<>zov"
|
msgstr "N<>zov"
|
||||||
@@ -564,13 +564,13 @@ msgid "Sid"
|
|||||||
msgstr "Sid"
|
msgstr "Sid"
|
||||||
|
|
||||||
msgid "Channel settings are not unique!"
|
msgid "Channel settings are not unique!"
|
||||||
msgstr "Nastavenia kan<61>lu nie s<> oby<EFBFBD>ajn<EFBFBD>!"
|
msgstr "Nastavenia kan<61>lu nie s<> v<EFBFBD>nimo<EFBFBD>n<EFBFBD>!"
|
||||||
|
|
||||||
msgid "Channels"
|
msgid "Channels"
|
||||||
msgstr "Kan<61>ly"
|
msgstr "Kan<61>ly"
|
||||||
|
|
||||||
msgid "Button$Edit"
|
msgid "Button$Edit"
|
||||||
msgstr "<EFBFBD>pravy"
|
msgstr "Upravi<EFBFBD>"
|
||||||
|
|
||||||
msgid "Button$New"
|
msgid "Button$New"
|
||||||
msgstr "Nov<6F>"
|
msgstr "Nov<6F>"
|
||||||
@@ -616,7 +616,7 @@ msgid "Edit timer"
|
|||||||
msgstr "<22>prava pl<70>nu nahr<68>vania"
|
msgstr "<22>prava pl<70>nu nahr<68>vania"
|
||||||
|
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "V <20>innosti"
|
msgstr "Akt<EFBFBD>vny"
|
||||||
|
|
||||||
msgid "Channel"
|
msgid "Channel"
|
||||||
msgstr "Kan<61>l"
|
msgstr "Kan<61>l"
|
||||||
@@ -625,10 +625,10 @@ msgid "Day"
|
|||||||
msgstr "De<44>"
|
msgstr "De<44>"
|
||||||
|
|
||||||
msgid "Start"
|
msgid "Start"
|
||||||
msgstr "Za<5A>iatok"
|
msgstr "Za<5A><EFBFBD>na"
|
||||||
|
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr "Koniec"
|
msgstr "Kon<EFBFBD><EFBFBD>"
|
||||||
|
|
||||||
msgid "VPS"
|
msgid "VPS"
|
||||||
msgstr "VPS"
|
msgstr "VPS"
|
||||||
@@ -646,13 +646,13 @@ msgid "Button$Folder"
|
|||||||
msgstr "Zlo<6C>ka"
|
msgstr "Zlo<6C>ka"
|
||||||
|
|
||||||
msgid "Button$Single"
|
msgid "Button$Single"
|
||||||
msgstr ""
|
msgstr "bez opakovania"
|
||||||
|
|
||||||
msgid "Button$Repeating"
|
msgid "Button$Repeating"
|
||||||
msgstr ""
|
msgstr "s opakovan<61>m"
|
||||||
|
|
||||||
msgid "First day"
|
msgid "First day"
|
||||||
msgstr "Prv<EFBFBD> de<64>"
|
msgstr "Odo d<>a"
|
||||||
|
|
||||||
msgid "Select folder"
|
msgid "Select folder"
|
||||||
msgstr "Vybra<72> zlo<6C>ku"
|
msgstr "Vybra<72> zlo<6C>ku"
|
||||||
@@ -685,13 +685,13 @@ msgid "Button$Switch"
|
|||||||
msgstr "Prepn<70><6E>"
|
msgstr "Prepn<70><6E>"
|
||||||
|
|
||||||
msgid "What's on now?"
|
msgid "What's on now?"
|
||||||
msgstr "<22>o ide?"
|
msgstr "<22>o ide aktu<74>lne?"
|
||||||
|
|
||||||
msgid "What's on next?"
|
msgid "What's on next?"
|
||||||
msgstr "<22>o nasleduje?"
|
msgstr "<22>o nasleduje?"
|
||||||
|
|
||||||
msgid "Button$Next"
|
msgid "Button$Next"
|
||||||
msgstr "<EFBFBD>alej"
|
msgstr "Nasleduje"
|
||||||
|
|
||||||
msgid "Button$Now"
|
msgid "Button$Now"
|
||||||
msgstr "Teraz"
|
msgstr "Teraz"
|
||||||
@@ -730,7 +730,7 @@ msgid "Button$Play"
|
|||||||
msgstr "Prehra<72>"
|
msgstr "Prehra<72>"
|
||||||
|
|
||||||
msgid "Button$Rewind"
|
msgid "Button$Rewind"
|
||||||
msgstr "Na za<7A>iatok"
|
msgstr "Od za<7A>iatku"
|
||||||
|
|
||||||
msgid "Recordings"
|
msgid "Recordings"
|
||||||
msgstr "Nahr<68>vky"
|
msgstr "Nahr<68>vky"
|
||||||
@@ -745,7 +745,7 @@ msgid "Delete recording?"
|
|||||||
msgstr "Zmaza<7A> nahr<68>vku?"
|
msgstr "Zmaza<7A> nahr<68>vku?"
|
||||||
|
|
||||||
msgid "Recording is being edited - really delete?"
|
msgid "Recording is being edited - really delete?"
|
||||||
msgstr ""
|
msgstr "Nahr<EFBFBD>vka sa upravuje - Naozaj zmaza<7A>?"
|
||||||
|
|
||||||
msgid "Error while deleting recording!"
|
msgid "Error while deleting recording!"
|
||||||
msgstr "Pri vymaz<61>van<61> nahr<68>vky pri<72>lo k chybe!"
|
msgstr "Pri vymaz<61>van<61> nahr<68>vky pri<72>lo k chybe!"
|
||||||
@@ -835,7 +835,7 @@ msgid "Setup.OSD$Scroll pages"
|
|||||||
msgstr "Rolova<76> strany"
|
msgstr "Rolova<76> strany"
|
||||||
|
|
||||||
msgid "Setup.OSD$Scroll wraps"
|
msgid "Setup.OSD$Scroll wraps"
|
||||||
msgstr "Z konca na za<7A>iatok"
|
msgstr "Rolova<EFBFBD> cyklicky"
|
||||||
|
|
||||||
msgid "Setup.OSD$Menu key closes"
|
msgid "Setup.OSD$Menu key closes"
|
||||||
msgstr "Kl<4B>vesa Menu zaviera"
|
msgstr "Kl<4B>vesa Menu zaviera"
|
||||||
@@ -847,25 +847,25 @@ msgid "Setup.OSD$Folders in timer menu"
|
|||||||
msgstr "Zlo<6C>ky v menu pl<70>nova<76>a"
|
msgstr "Zlo<6C>ky v menu pl<70>nova<76>a"
|
||||||
|
|
||||||
msgid "Setup.OSD$Number keys for characters"
|
msgid "Setup.OSD$Number keys for characters"
|
||||||
msgstr "<22><>seln<6C> tla<6C>idl<EFBFBD> pre znaky"
|
msgstr "P<EFBFBD>sa<EFBFBD> znaky <EFBFBD><EFBFBD>seln<EFBFBD>mi tla<6C>idlami"
|
||||||
|
|
||||||
msgid "Setup.OSD$Color key 0"
|
msgid "Setup.OSD$Color key 0"
|
||||||
msgstr ""
|
msgstr "Farba kl<6B>vesy 0"
|
||||||
|
|
||||||
msgid "Setup.OSD$Color key 1"
|
msgid "Setup.OSD$Color key 1"
|
||||||
msgstr ""
|
msgstr "Farba kl<6B>vesy 1"
|
||||||
|
|
||||||
msgid "Setup.OSD$Color key 2"
|
msgid "Setup.OSD$Color key 2"
|
||||||
msgstr ""
|
msgstr "Farba kl<6B>vesy 2"
|
||||||
|
|
||||||
msgid "Setup.OSD$Color key 3"
|
msgid "Setup.OSD$Color key 3"
|
||||||
msgstr ""
|
msgstr "Farba kl<6B>vesy 3"
|
||||||
|
|
||||||
msgid "EPG"
|
msgid "EPG"
|
||||||
msgstr "EPG"
|
msgstr "EPG"
|
||||||
|
|
||||||
msgid "Button$Scan"
|
msgid "Button$Scan"
|
||||||
msgstr "Sn<EFBFBD>ma<EFBFBD>"
|
msgstr "Skenova<EFBFBD>"
|
||||||
|
|
||||||
msgid "Setup.EPG$EPG scan timeout (h)"
|
msgid "Setup.EPG$EPG scan timeout (h)"
|
||||||
msgstr "<22>asov<6F> limit pre sn<73>manie EPG (h)"
|
msgstr "<22>asov<6F> limit pre sn<73>manie EPG (h)"
|
||||||
@@ -880,7 +880,7 @@ msgid "Setup.EPG$Set system time"
|
|||||||
msgstr "Nastavi<76> syst<73>mov<6F> <20>as"
|
msgstr "Nastavi<76> syst<73>mov<6F> <20>as"
|
||||||
|
|
||||||
msgid "Setup.EPG$Use time from transponder"
|
msgid "Setup.EPG$Use time from transponder"
|
||||||
msgstr "Pou<6F>i<EFBFBD> <20>as z kan<EFBFBD>lu"
|
msgstr "Pou<6F>i<EFBFBD> <20>as z transpond<EFBFBD>ru"
|
||||||
|
|
||||||
#. TRANSLATORS: note the plural!
|
#. TRANSLATORS: note the plural!
|
||||||
msgid "Setup.EPG$Preferred languages"
|
msgid "Setup.EPG$Preferred languages"
|
||||||
@@ -930,7 +930,7 @@ msgid "Setup.DVB$Primary DVB interface"
|
|||||||
msgstr "Hlavn<76> DVB rozhranie"
|
msgstr "Hlavn<76> DVB rozhranie"
|
||||||
|
|
||||||
msgid "Setup.DVB$Standard compliance"
|
msgid "Setup.DVB$Standard compliance"
|
||||||
msgstr ""
|
msgstr "Kompatibiln<EFBFBD> norma"
|
||||||
|
|
||||||
msgid "Setup.DVB$Video format"
|
msgid "Setup.DVB$Video format"
|
||||||
msgstr "Form<72>t videa"
|
msgstr "Form<72>t videa"
|
||||||
@@ -985,10 +985,10 @@ msgstr "Horn
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Setup.LNB$Device %d connected to sat cable"
|
msgid "Setup.LNB$Device %d connected to sat cable"
|
||||||
msgstr ""
|
msgstr "Zariadenie %d je pripojen<65> na sat. k<>bel"
|
||||||
|
|
||||||
msgid "Setup.LNB$own"
|
msgid "Setup.LNB$own"
|
||||||
msgstr ""
|
msgstr "vlastn<EFBFBD>"
|
||||||
|
|
||||||
msgid "CAM reset"
|
msgid "CAM reset"
|
||||||
msgstr "Resetnutie CAMu"
|
msgstr "Resetnutie CAMu"
|
||||||
@@ -1021,13 +1021,13 @@ msgid "Can't reset CAM!"
|
|||||||
msgstr "CAM modul nejde re<72>tartova<76>!"
|
msgstr "CAM modul nejde re<72>tartova<76>!"
|
||||||
|
|
||||||
msgid "do not pause live video"
|
msgid "do not pause live video"
|
||||||
msgstr "nepreru<EFBFBD>ova<EFBFBD> <20>iv<69> vysielanie"
|
msgstr "nepozastavova<EFBFBD> <20>iv<69> vysielanie"
|
||||||
|
|
||||||
msgid "confirm pause live video"
|
msgid "confirm pause live video"
|
||||||
msgstr "potvrdi<64> preru<EFBFBD>enie <20>iv<69>ho vysielania"
|
msgstr "potvrdi<64> pozastavenie <20>iv<69>ho vysielania"
|
||||||
|
|
||||||
msgid "pause live video"
|
msgid "pause live video"
|
||||||
msgstr "preru<EFBFBD>i<EFBFBD> <20>iv<69> vysielanie"
|
msgstr "pozastavi<EFBFBD> <20>iv<69> vysielanie"
|
||||||
|
|
||||||
msgid "confirm"
|
msgid "confirm"
|
||||||
msgstr "overi<72>"
|
msgstr "overi<72>"
|
||||||
@@ -1078,7 +1078,7 @@ msgid "Setup.Recording$Instant rec. time (min)"
|
|||||||
msgstr "D<><44>ka okam<61>it<69>ho nahr<68>vania (min)"
|
msgstr "D<><44>ka okam<61>it<69>ho nahr<68>vania (min)"
|
||||||
|
|
||||||
msgid "Setup.Recording$present event"
|
msgid "Setup.Recording$present event"
|
||||||
msgstr ""
|
msgstr "s<EFBFBD><EFBFBD>asn<EFBFBD> udalos<6F>"
|
||||||
|
|
||||||
msgid "Setup.Recording$Max. video file size (MB)"
|
msgid "Setup.Recording$Max. video file size (MB)"
|
||||||
msgstr "Maxim<69>lna ve<76>kos<6F> nahr<68>vky (MB)"
|
msgstr "Maxim<69>lna ve<76>kos<6F> nahr<68>vky (MB)"
|
||||||
@@ -1099,34 +1099,40 @@ msgid "Setup.Replay$Show replay mode"
|
|||||||
msgstr "Zobrazi<7A> sp<73>sob prehr<68>vania"
|
msgstr "Zobrazi<7A> sp<73>sob prehr<68>vania"
|
||||||
|
|
||||||
msgid "Setup.Replay$Show remaining time"
|
msgid "Setup.Replay$Show remaining time"
|
||||||
msgstr ""
|
msgstr "Zobrazi<EFBFBD> zost<73>vaj<61>ci <20>as"
|
||||||
|
|
||||||
msgid "Setup.Replay$Progress display time (s)"
|
msgid "Setup.Replay$Progress display time (s)"
|
||||||
msgstr ""
|
msgstr "<EFBFBD>as zobrazenia ukazovate<74>a priebehu (s)"
|
||||||
|
|
||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr ""
|
msgstr "Pozastavi<EFBFBD> prehr<68>vanie pri stanoven<65> zna<6E>ky"
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "ID obnovenie"
|
msgstr "ident. <20><>slo obnovenia prehr<68>vania"
|
||||||
|
|
||||||
msgid "Miscellaneous"
|
msgid "Miscellaneous"
|
||||||
msgstr "R<>zne"
|
msgstr "R<>zne"
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Min. event timeout (min)"
|
msgid "Setup.Miscellaneous$Min. event timeout (min)"
|
||||||
msgstr "Min. pauza medzi udalos<6F>ami (min)"
|
msgstr "limit pred nahr<68>van<61>m (min)"
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Min. user inactivity (min)"
|
msgid "Setup.Miscellaneous$Min. user inactivity (min)"
|
||||||
msgstr "<EFBFBD>asov<EFBFBD> limit ne<6E>innosti (min)"
|
msgstr "vymedzi<EFBFBD> u<><75>vate<74>sk<73> ne<6E>innos<EFBFBD> (min)"
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$SVDRP timeout (s)"
|
msgid "Setup.Miscellaneous$SVDRP timeout (s)"
|
||||||
msgstr "<22>asov<6F> limit SVDRP (s)"
|
msgstr "<22>asov<6F> limit SVDRP (s)"
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Zap timeout (s)"
|
msgid "Setup.Miscellaneous$Zap timeout (s)"
|
||||||
msgstr "<EFBFBD>asov<EFBFBD> limit Zap (s)"
|
msgstr "pam<EFBFBD>ta<EFBFBD> predo<64>l<EFBFBD> kan<61>l po ... (s)"
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "<EFBFBD>as pri vo<76>be kan<61>la (ms)"
|
msgstr "limit pri vo<76>be kan<61>la (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "Kan<61>l po spusten<65>"
|
msgstr "Kan<61>l po spusten<65>"
|
||||||
@@ -1138,10 +1144,10 @@ msgid "Setup.Miscellaneous$Initial volume"
|
|||||||
msgstr "Hlasitos<6F> po spusten<65>"
|
msgstr "Hlasitos<6F> po spusten<65>"
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Channels wrap"
|
msgid "Setup.Miscellaneous$Channels wrap"
|
||||||
msgstr "Prep<EFBFBD>na<EFBFBD> z prv<72>ho na posledn<64> a opa<70>ne"
|
msgstr "Kan<EFBFBD>ly cyklova<76> pri prepnut<75>"
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Show channel names with source"
|
msgid "Setup.Miscellaneous$Show channel names with source"
|
||||||
msgstr ""
|
msgstr "Zobrazi<EFBFBD> kan<61>ly so zdrojom"
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Emergency exit"
|
msgid "Setup.Miscellaneous$Emergency exit"
|
||||||
msgstr "N<>dzov<6F> ukon<6F>enie"
|
msgstr "N<>dzov<6F> ukon<6F>enie"
|
||||||
@@ -1192,22 +1198,22 @@ msgid "Cancel editing?"
|
|||||||
msgstr "Zru<72>i<EFBFBD> <20>pravy?"
|
msgstr "Zru<72>i<EFBFBD> <20>pravy?"
|
||||||
|
|
||||||
msgid "No audio available!"
|
msgid "No audio available!"
|
||||||
msgstr "Zvuk nie je dostupn<70>!"
|
msgstr "Zvukov<EFBFBD> stopy nie s<EFBFBD> dostupn<70>!"
|
||||||
|
|
||||||
msgid "No subtitles"
|
msgid "No subtitles"
|
||||||
msgstr "Bez titulkov"
|
msgstr "Bez titulkov"
|
||||||
|
|
||||||
msgid "No subtitles available!"
|
msgid "No subtitles available!"
|
||||||
msgstr "<22>iadne dostupn<70> titulky!"
|
msgstr "<22>iadne titulky nie s<> dostupn<EFBFBD>!"
|
||||||
|
|
||||||
msgid "Not enough disk space to start recording!"
|
msgid "Not enough disk space to start recording!"
|
||||||
msgstr "M<>lo voln<6C>ho miesta na nahr<68>vanie!"
|
msgstr "M<>lo voln<6C>ho miesta na nahr<68>vanie!"
|
||||||
|
|
||||||
msgid "No free DVB device to record!"
|
msgid "No free DVB device to record!"
|
||||||
msgstr "<EFBFBD>iadna DVB karta nie je voln<6C> pre nahr<68>vanie"
|
msgstr "Pre nahr<68>vanie nie je voln<6C> <20>iadne DVB zariadenie!"
|
||||||
|
|
||||||
msgid "Pausing live video..."
|
msgid "Pausing live video..."
|
||||||
msgstr "Preru<EFBFBD>uje sa be<62>iaci program ..."
|
msgstr "Pozastavuje sa <20>iv<69> vysielanie ..."
|
||||||
|
|
||||||
msgid "Delete timeshift recording?"
|
msgid "Delete timeshift recording?"
|
||||||
msgstr "Vymaza<7A> timeshift z<>znamy?"
|
msgstr "Vymaza<7A> timeshift z<>znamy?"
|
||||||
@@ -1217,19 +1223,19 @@ msgid "Jump: "
|
|||||||
msgstr "Skok: "
|
msgstr "Skok: "
|
||||||
|
|
||||||
msgid "No editing marks defined!"
|
msgid "No editing marks defined!"
|
||||||
msgstr "Nie s<> ur<EFBFBD>en<EFBFBD> zna<6E>ky <EFBFBD>prav!"
|
msgstr "Neboli vyzna<EFBFBD>en<EFBFBD> zna<6E>ky pre zostrihanie!"
|
||||||
|
|
||||||
msgid "No editing sequences defined!"
|
msgid "No editing sequences defined!"
|
||||||
msgstr ""
|
msgstr "Neboli ur<75>en<65> sekvencie <20>prav!"
|
||||||
|
|
||||||
msgid "Can't start editing process!"
|
msgid "Can't start editing process!"
|
||||||
msgstr "Nem<65><6D>e za<7A>a<EFBFBD> spracovanie <20>prav!"
|
msgstr "Nem<65><6D>e za<7A>a<EFBFBD> zostrihanie!"
|
||||||
|
|
||||||
msgid "Editing process started"
|
msgid "Editing process started"
|
||||||
msgstr "Spracovanie <20>prav za<7A>alo"
|
msgstr "Proces strihania sa spustil"
|
||||||
|
|
||||||
msgid "Editing process already active!"
|
msgid "Editing process already active!"
|
||||||
msgstr "Spracovanie <20>prav je v <20>innosti!"
|
msgstr "Proces zostrihania je akt<6B>vny!"
|
||||||
|
|
||||||
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
|
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
|
||||||
msgstr " a<><61>bc<62>d<EFBFBD>e<EFBFBD>fghi<68>jkl<6B><6C>mn<6D>o<EFBFBD><6F>pqr<71>s<EFBFBD>t<EFBFBD>u<EFBFBD>vwxy<78>z<EFBFBD>0123456789-.,#~\\^$[]|()*+?{}/:%@&"
|
msgstr " a<><61>bc<62>d<EFBFBD>e<EFBFBD>fghi<68>jkl<6B><6C>mn<6D>o<EFBFBD><6F>pqr<71>s<EFBFBD>t<EFBFBD>u<EFBFBD>vwxy<78>z<EFBFBD>0123456789-.,#~\\^$[]|()*+?{}/:%@&"
|
||||||
@@ -1256,22 +1262,22 @@ msgid "Channel locked (recording)!"
|
|||||||
msgstr "Kan<61>l je zamknut<75> (nahr<68>va sa)!"
|
msgstr "Kan<61>l je zamknut<75> (nahr<68>va sa)!"
|
||||||
|
|
||||||
msgid "Low disk space!"
|
msgid "Low disk space!"
|
||||||
msgstr "Za chv<68><76>ku bude pln<6C> disk!"
|
msgstr "Nedostatok miesta na disku!"
|
||||||
|
|
||||||
msgid "Regenerating index file"
|
msgid "Regenerating index file"
|
||||||
msgstr "Regenera<EFBFBD>n<EFBFBD> indexov<6F> s<>bor"
|
msgstr "Obnova indexov<6F>ho s<>boru"
|
||||||
|
|
||||||
msgid "Index file regeneration complete"
|
msgid "Index file regeneration complete"
|
||||||
msgstr "Regener<EFBFBD>cia indexov<6F>ho s<>boru hotov<6F>"
|
msgstr "Obnova indexov<6F>ho s<>boru hotov<6F>"
|
||||||
|
|
||||||
msgid "Index file regeneration failed!"
|
msgid "Index file regeneration failed!"
|
||||||
msgstr ""
|
msgstr "Obnova indexov<6F>ho s<>boru zlyhala!"
|
||||||
|
|
||||||
msgid "Can't shutdown - option '-s' not given!"
|
msgid "Can't shutdown - option '-s' not given!"
|
||||||
msgstr "Vypnutie nie je mo<6D>n<EFBFBD> - ch<63>ba vo<76>ba '-s'!"
|
msgstr "Vypnutie nie je mo<6D>n<EFBFBD> - ch<63>ba vo<76>ba '-s'!"
|
||||||
|
|
||||||
msgid "Editing - shut down anyway?"
|
msgid "Editing - shut down anyway?"
|
||||||
msgstr "Upravujem - aj tak vypn<70><6E>?"
|
msgstr "Zostrih<EFBFBD>va sa - aj tak vypn<70><6E>?"
|
||||||
|
|
||||||
msgid "Recording - shut down anyway?"
|
msgid "Recording - shut down anyway?"
|
||||||
msgstr "Nahr<68>va - aj tak vypn<70><6E>?"
|
msgstr "Nahr<68>va - aj tak vypn<70><6E>?"
|
||||||
@@ -1281,11 +1287,11 @@ msgid "Recording in %ld minutes, shut down anyway?"
|
|||||||
msgstr "Nahr<68>vanie za<7A>ne za %ld min<69>t - aj tak vypn<70><6E>?"
|
msgstr "Nahr<68>vanie za<7A>ne za %ld min<69>t - aj tak vypn<70><6E>?"
|
||||||
|
|
||||||
msgid "shut down anyway?"
|
msgid "shut down anyway?"
|
||||||
msgstr "Aj tak vypn<70><6E>?"
|
msgstr "Ur<EFBFBD>ite vypn<70><6E>?"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Plugin %s wakes up in %ld min, continue?"
|
msgid "Plugin %s wakes up in %ld min, continue?"
|
||||||
msgstr "Modul %s <EFBFBD>tartuje za %ld min., pokra<72>ova<76>?"
|
msgstr "Modul %s sa prebud<75> za %ld min., pokra<72>ova<76>?"
|
||||||
|
|
||||||
msgid "Editing - restart anyway?"
|
msgid "Editing - restart anyway?"
|
||||||
msgstr "Upravuje sa - aj tak re<72>tartova<76>?"
|
msgstr "Upravuje sa - aj tak re<72>tartova<76>?"
|
||||||
@@ -1294,7 +1300,7 @@ msgid "Recording - restart anyway?"
|
|||||||
msgstr "Nahr<68>va - aj tak re<72>tartova<76>?"
|
msgstr "Nahr<68>va - aj tak re<72>tartova<76>?"
|
||||||
|
|
||||||
msgid "restart anyway?"
|
msgid "restart anyway?"
|
||||||
msgstr "Aj tak re<72>tartova<76>?"
|
msgstr "Ur<EFBFBD>ite re<72>tartova<76>?"
|
||||||
|
|
||||||
#. TRANSLATORS: note the trailing blank!
|
#. TRANSLATORS: note the trailing blank!
|
||||||
msgid "Volume "
|
msgid "Volume "
|
||||||
@@ -1304,22 +1310,22 @@ msgid "Classic VDR"
|
|||||||
msgstr "Klasick<63> VDR"
|
msgstr "Klasick<63> VDR"
|
||||||
|
|
||||||
msgid "DISK"
|
msgid "DISK"
|
||||||
msgstr ""
|
msgstr "DISK"
|
||||||
|
|
||||||
msgid "LOAD"
|
msgid "LOAD"
|
||||||
msgstr ""
|
msgstr "ZA<EFBFBD>A<EFBFBD>ENIE"
|
||||||
|
|
||||||
msgid "TIMERS"
|
msgid "TIMERS"
|
||||||
msgstr ""
|
msgstr "PL<EFBFBD>NY"
|
||||||
|
|
||||||
msgid "DEVICES"
|
msgid "DEVICES"
|
||||||
msgstr ""
|
msgstr "ZARIADENIA"
|
||||||
|
|
||||||
msgid "LIVE"
|
msgid "LIVE"
|
||||||
msgstr ""
|
msgstr "NA<EFBFBD>IVO"
|
||||||
|
|
||||||
msgid "PLAY"
|
msgid "PLAY"
|
||||||
msgstr ""
|
msgstr "PREHR<EFBFBD>VA SA"
|
||||||
|
|
||||||
msgid "ST:TNG Panels"
|
msgid "ST:TNG Panels"
|
||||||
msgstr "ST:TNG panely"
|
msgstr "ST:TNG panely"
|
||||||
@@ -1363,7 +1369,7 @@ msgid "Recording started"
|
|||||||
msgstr "Za<5A>alo nahr<68>vanie"
|
msgstr "Za<5A>alo nahr<68>vanie"
|
||||||
|
|
||||||
msgid "VDR will shut down later - press Power to force"
|
msgid "VDR will shut down later - press Power to force"
|
||||||
msgstr "Vypnutie VDR bude odlo<6C>en<65> - platnos<6F> potvrdte kl<6B>vesou Power"
|
msgstr "VDR sa vypne neskor<6F>ie. - Vyn<79>tenie potvrdte kl<6B>vesou Power"
|
||||||
|
|
||||||
msgid "Press any key to cancel shutdown"
|
msgid "Press any key to cancel shutdown"
|
||||||
msgstr "Ktor<6F>ko<6B>vek kl<6B>vesa zru<72><75> vypnutie"
|
msgstr "Ktor<6F>ko<6B>vek kl<6B>vesa zru<72><75> vypnutie"
|
||||||
@@ -1372,10 +1378,10 @@ msgid "Switching primary DVB..."
|
|||||||
msgstr "Prep<65>na hlavn<76> DVB..."
|
msgstr "Prep<65>na hlavn<76> DVB..."
|
||||||
|
|
||||||
msgid "Editing process failed!"
|
msgid "Editing process failed!"
|
||||||
msgstr "Spracovanie <20>prav zlyhalo!"
|
msgstr "Zostrih<EFBFBD>vanie zlyhalo!"
|
||||||
|
|
||||||
msgid "Editing process finished"
|
msgid "Editing process finished"
|
||||||
msgstr "Spracovanie <20>prav skon<EFBFBD>ilo"
|
msgstr "Proces zostrih<69>vania dokon<EFBFBD>en<EFBFBD>"
|
||||||
|
|
||||||
msgid "Press any key to cancel restart"
|
msgid "Press any key to cancel restart"
|
||||||
msgstr "ktor<6F>ko<6B>vek kl<6B>vesa zru<72><75> re<72>tart"
|
msgstr "ktor<6F>ko<6B>vek kl<6B>vesa zru<72><75> re<72>tart"
|
||||||
@@ -1388,4 +1394,4 @@ msgid "Disk"
|
|||||||
msgstr "Disk"
|
msgstr "Disk"
|
||||||
|
|
||||||
msgid "free"
|
msgid "free"
|
||||||
msgstr "volne"
|
msgstr "vo<EFBFBD>n<EFBFBD>"
|
||||||
|
@@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.6.0\n"
|
"Project-Id-Version: VDR 1.6.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2008-02-28 19:44+0100\n"
|
"PO-Revision-Date: 2008-02-28 19:44+0100\n"
|
||||||
"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n"
|
"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n"
|
||||||
"Language-Team: Slovenian <vdr@linuxtv.org>\n"
|
"Language-Team: Slovenian <vdr@linuxtv.org>\n"
|
||||||
@@ -1129,6 +1129,12 @@ msgstr "
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "Timeout za vnos kanala (ms)"
|
msgstr "Timeout za vnos kanala (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "Privzeti kanal"
|
msgstr "Privzeti kanal"
|
||||||
|
|
||||||
|
@@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.7.1\n"
|
"Project-Id-Version: VDR 1.7.1\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2011-01-09 15:57+0100\n"
|
"PO-Revision-Date: 2011-01-09 15:57+0100\n"
|
||||||
"Last-Translator: Milan Cvijanovi<76> <elcom_cvijo@hotmail.com>\n"
|
"Last-Translator: Milan Cvijanovi<76> <elcom_cvijo@hotmail.com>\n"
|
||||||
"Language-Team: Serbian <vdr@linuxtv.org>\n"
|
"Language-Team: Serbian <vdr@linuxtv.org>\n"
|
||||||
@@ -1151,6 +1151,12 @@ msgstr "Zap isti
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "Upis kanala isti<74>e (ms)"
|
msgstr "Upis kanala isti<74>e (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "Po<50>etni kanal"
|
msgstr "Po<50>etni kanal"
|
||||||
|
|
||||||
|
@@ -10,7 +10,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.6.0\n"
|
"Project-Id-Version: VDR 1.6.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2008-03-12 18:25+0100\n"
|
"PO-Revision-Date: 2008-03-12 18:25+0100\n"
|
||||||
"Last-Translator: Magnus Andersson <svankan@bahnhof.se>\n"
|
"Last-Translator: Magnus Andersson <svankan@bahnhof.se>\n"
|
||||||
"Language-Team: Swedish <vdr@linuxtv.org>\n"
|
"Language-Team: Swedish <vdr@linuxtv.org>\n"
|
||||||
@@ -1131,6 +1131,12 @@ msgstr "Zap timeout(s)"
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "Timeout kanal (ms)"
|
msgstr "Timeout kanal (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "Kanal vid uppstart"
|
msgstr "Kanal vid uppstart"
|
||||||
|
|
||||||
|
@@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.6.0\n"
|
"Project-Id-Version: VDR 1.6.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2008-02-28 00:33+0100\n"
|
"PO-Revision-Date: 2008-02-28 00:33+0100\n"
|
||||||
"Last-Translator: Oktay Yolge<67>en <oktay_73@yahoo.de>\n"
|
"Last-Translator: Oktay Yolge<67>en <oktay_73@yahoo.de>\n"
|
||||||
"Language-Team: Turkish <vdr@linuxtv.org>\n"
|
"Language-Team: Turkish <vdr@linuxtv.org>\n"
|
||||||
@@ -1128,6 +1128,12 @@ msgstr "Zaping zaman a
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "Kanal giri<72> zaman a<><61>m<EFBFBD> (ms)"
|
msgstr "Kanal giri<72> zaman a<><61>m<EFBFBD> (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "A<><41>l<EFBFBD><6C>daki kanal"
|
msgstr "A<><41>l<EFBFBD><6C>daki kanal"
|
||||||
|
|
||||||
|
@@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.7.7\n"
|
"Project-Id-Version: VDR 1.7.7\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2010-04-25 16:35+0200\n"
|
"PO-Revision-Date: 2010-04-25 16:35+0200\n"
|
||||||
"Last-Translator: Yarema aka Knedlyk <yupadmin@gmail.com>\n"
|
"Last-Translator: Yarema aka Knedlyk <yupadmin@gmail.com>\n"
|
||||||
"Language-Team: Ukrainian <vdr@linuxtv.org>\n"
|
"Language-Team: Ukrainian <vdr@linuxtv.org>\n"
|
||||||
@@ -1128,6 +1128,12 @@ msgstr "Затримка переключання каналу (сек)"
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "Затримка часу для впровадження каналу (ms)"
|
msgstr "Затримка часу для впровадження каналу (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "Канал при включенні"
|
msgstr "Канал при включенні"
|
||||||
|
|
||||||
|
@@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 1.6.0\n"
|
"Project-Id-Version: VDR 1.6.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
|
"POT-Creation-Date: 2013-02-03 16:46+0100\n"
|
||||||
"PO-Revision-Date: 2009-09-23 23:50+0800\n"
|
"PO-Revision-Date: 2009-09-23 23:50+0800\n"
|
||||||
"Last-Translator: Nan Feng <nfgx@21cn.com>\n"
|
"Last-Translator: Nan Feng <nfgx@21cn.com>\n"
|
||||||
"Language-Team: Chinese (simplified) <vdr@linuxtv.org>\n"
|
"Language-Team: Chinese (simplified) <vdr@linuxtv.org>\n"
|
||||||
@@ -1131,6 +1131,12 @@ msgstr "Zap 超时 (s)"
|
|||||||
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
|
||||||
msgstr "频道进入超时 (ms)"
|
msgstr "频道进入超时 (ms)"
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delay (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Miscellaneous$Remote control repeat delta (ms)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Initial channel"
|
msgid "Setup.Miscellaneous$Initial channel"
|
||||||
msgstr "初始频道"
|
msgstr "初始频道"
|
||||||
|
|
||||||
|
151
recording.c
151
recording.c
@@ -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: recording.c 2.83 2013/01/16 14:17:44 kls Exp $
|
* $Id: recording.c 2.86 2013/02/08 09:02:07 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "recording.h"
|
#include "recording.h"
|
||||||
@@ -64,11 +64,11 @@
|
|||||||
#define MARKSUPDATEDELTA 10 // seconds between checks for updating editing marks
|
#define MARKSUPDATEDELTA 10 // seconds between checks for updating editing marks
|
||||||
#define MININDEXAGE 3600 // seconds before an index file is considered no longer to be written
|
#define MININDEXAGE 3600 // seconds before an index file is considered no longer to be written
|
||||||
|
|
||||||
#define MAX_SUBTITLE_LENGTH 40
|
|
||||||
|
|
||||||
#define MAX_LINK_LEVEL 6
|
#define MAX_LINK_LEVEL 6
|
||||||
|
|
||||||
bool VfatFileSystem = false;
|
int DirectoryPathMax = PATH_MAX;
|
||||||
|
int DirectoryNameMax = NAME_MAX;
|
||||||
|
bool DirectoryEncoding = false;
|
||||||
int InstanceId = 0;
|
int InstanceId = 0;
|
||||||
|
|
||||||
cRecordings DeletedRecordings(true);
|
cRecordings DeletedRecordings(true);
|
||||||
@@ -540,22 +540,30 @@ tCharExchange CharExchange[] = {
|
|||||||
{ 0, 0 }
|
{ 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const char *InvalidChars = "\"\\/:*?|<>#";
|
||||||
|
|
||||||
|
bool NeedsConversion(const char *p)
|
||||||
|
{
|
||||||
|
return DirectoryEncoding &&
|
||||||
|
(strchr(InvalidChars, *p) // characters that can't be part of a Windows file/directory name
|
||||||
|
|| *p == '.' && (!*(p + 1) || *(p + 1) == FOLDERDELIMCHAR)); // Windows can't handle '.' at the end of file/directory names
|
||||||
|
}
|
||||||
|
|
||||||
char *ExchangeChars(char *s, bool ToFileSystem)
|
char *ExchangeChars(char *s, bool ToFileSystem)
|
||||||
{
|
{
|
||||||
char *p = s;
|
char *p = s;
|
||||||
while (*p) {
|
while (*p) {
|
||||||
if (VfatFileSystem) {
|
if (DirectoryEncoding) {
|
||||||
// The VFAT file system can't handle all characters, so we
|
// Some file systems can't handle all characters, so we
|
||||||
// have to take extra efforts to encode/decode them:
|
// have to take extra efforts to encode/decode them:
|
||||||
if (ToFileSystem) {
|
if (ToFileSystem) {
|
||||||
const char *InvalidChars = "\"\\/:*?|<>#";
|
|
||||||
switch (*p) {
|
switch (*p) {
|
||||||
// characters that can be mapped to other characters:
|
// characters that can be mapped to other characters:
|
||||||
case ' ': *p = '_'; break;
|
case ' ': *p = '_'; break;
|
||||||
case FOLDERDELIMCHAR: *p = '/'; break;
|
case FOLDERDELIMCHAR: *p = '/'; break;
|
||||||
// characters that have to be encoded:
|
// characters that have to be encoded:
|
||||||
default:
|
default:
|
||||||
if (strchr(InvalidChars, *p) || *p == '.' && (!*(p + 1) || *(p + 1) == FOLDERDELIMCHAR)) { // Windows can't handle '.' at the end of file/directory names
|
if (NeedsConversion(p)) {
|
||||||
int l = p - s;
|
int l = p - s;
|
||||||
if (char *NewBuffer = (char *)realloc(s, strlen(s) + 10)) {
|
if (char *NewBuffer = (char *)realloc(s, strlen(s) + 10)) {
|
||||||
s = NewBuffer;
|
s = NewBuffer;
|
||||||
@@ -610,6 +618,107 @@ char *ExchangeChars(char *s, bool ToFileSystem)
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char *LimitNameLengths(char *s, int PathMax, int NameMax)
|
||||||
|
{
|
||||||
|
// Limits the total length of the directory path in 's' to PathMax, and each
|
||||||
|
// individual directory name to NameMax. The lengths of characters that need
|
||||||
|
// conversion when using 's' as a file name are taken into account accordingly.
|
||||||
|
// If a directory name exceeds NameMax, it will be truncated. If the whole
|
||||||
|
// directory path exceeds PathMax, individual directory names will be shortened
|
||||||
|
// (from right to left) until the limit is met, or until the currently handled
|
||||||
|
// directory name consists of only a single character. All operations are performed
|
||||||
|
// directly on the given 's', which may become shorter (but never longer) than
|
||||||
|
// the original value.
|
||||||
|
// Returns a pointer to 's'.
|
||||||
|
int Length = strlen(s);
|
||||||
|
int PathLength = 0;
|
||||||
|
// Collect the resulting lengths of each character:
|
||||||
|
bool NameTooLong = false;
|
||||||
|
int8_t a[Length];
|
||||||
|
int n = 0;
|
||||||
|
int NameLength = 0;
|
||||||
|
for (char *p = s; *p; p++) {
|
||||||
|
if (*p == FOLDERDELIMCHAR) {
|
||||||
|
a[n] = -1; // FOLDERDELIMCHAR is a single character, neg. sign marks it
|
||||||
|
NameTooLong |= NameLength > NameMax;
|
||||||
|
NameLength = 0;
|
||||||
|
PathLength += 1;
|
||||||
|
}
|
||||||
|
else if (NeedsConversion(p)) {
|
||||||
|
a[n] = 3; // "#xx"
|
||||||
|
NameLength += 3;
|
||||||
|
PathLength += 3;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
int8_t l = Utf8CharLen(p);
|
||||||
|
a[n] = l;
|
||||||
|
NameLength += l;
|
||||||
|
PathLength += l;
|
||||||
|
while (l-- > 1) {
|
||||||
|
a[++n] = 0;
|
||||||
|
p++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
n++;
|
||||||
|
}
|
||||||
|
NameTooLong |= NameLength > NameMax;
|
||||||
|
// Limit names to NameMax:
|
||||||
|
if (NameTooLong) {
|
||||||
|
while (n > 0) {
|
||||||
|
// Calculate the length of the current name:
|
||||||
|
int NameLength = 0;
|
||||||
|
int i = n;
|
||||||
|
int b = i;
|
||||||
|
while (i-- > 0 && a[i] >= 0) {
|
||||||
|
NameLength += a[i];
|
||||||
|
b = i;
|
||||||
|
}
|
||||||
|
// Shorten the name if necessary:
|
||||||
|
if (NameLength > NameMax) {
|
||||||
|
int l = 0;
|
||||||
|
i = n;
|
||||||
|
while (i-- > 0 && a[i] >= 0) {
|
||||||
|
l += a[i];
|
||||||
|
if (NameLength - l <= NameMax) {
|
||||||
|
memmove(s + i, s + n, Length - n + 1);
|
||||||
|
memmove(a + i, a + n, Length - n + 1);
|
||||||
|
Length -= n - i;
|
||||||
|
PathLength -= l;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Switch to the next name:
|
||||||
|
n = b - 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Limit path to PathMax:
|
||||||
|
n = Length;
|
||||||
|
while (PathLength > PathMax && n > 0) {
|
||||||
|
// Calculate how much to cut off the current name:
|
||||||
|
int i = n;
|
||||||
|
int b = i;
|
||||||
|
int l = 0;
|
||||||
|
while (--i > 0 && a[i - 1] >= 0) {
|
||||||
|
if (a[i] > 0) {
|
||||||
|
l += a[i];
|
||||||
|
b = i;
|
||||||
|
if (PathLength - l <= PathMax)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Shorten the name if necessary:
|
||||||
|
if (l > 0) {
|
||||||
|
memmove(s + b, s + n, Length - n + 1);
|
||||||
|
Length -= n - b;
|
||||||
|
PathLength -= l;
|
||||||
|
}
|
||||||
|
// Switch to the next name:
|
||||||
|
n = i - 1;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
cRecording::cRecording(cTimer *Timer, const cEvent *Event)
|
cRecording::cRecording(cTimer *Timer, const cEvent *Event)
|
||||||
{
|
{
|
||||||
resume = RESUME_NOT_INITIALIZED;
|
resume = RESUME_NOT_INITIALIZED;
|
||||||
@@ -628,16 +737,10 @@ cRecording::cRecording(cTimer *Timer, const cEvent *Event)
|
|||||||
// set up the actual name:
|
// set up the actual name:
|
||||||
const char *Title = Event ? Event->Title() : NULL;
|
const char *Title = Event ? Event->Title() : NULL;
|
||||||
const char *Subtitle = Event ? Event->ShortText() : NULL;
|
const char *Subtitle = Event ? Event->ShortText() : NULL;
|
||||||
char SubtitleBuffer[MAX_SUBTITLE_LENGTH];
|
|
||||||
if (isempty(Title))
|
if (isempty(Title))
|
||||||
Title = Timer->Channel()->Name();
|
Title = Timer->Channel()->Name();
|
||||||
if (isempty(Subtitle))
|
if (isempty(Subtitle))
|
||||||
Subtitle = " ";
|
Subtitle = " ";
|
||||||
else if (strlen(Subtitle) > MAX_SUBTITLE_LENGTH) {
|
|
||||||
// let's make sure the Subtitle doesn't produce too long a file name:
|
|
||||||
Utf8Strn0Cpy(SubtitleBuffer, Subtitle, MAX_SUBTITLE_LENGTH);
|
|
||||||
Subtitle = SubtitleBuffer;
|
|
||||||
}
|
|
||||||
const char *macroTITLE = strstr(Timer->File(), TIMERMACRO_TITLE);
|
const char *macroTITLE = strstr(Timer->File(), TIMERMACRO_TITLE);
|
||||||
const char *macroEPISODE = strstr(Timer->File(), TIMERMACRO_EPISODE);
|
const char *macroEPISODE = strstr(Timer->File(), TIMERMACRO_EPISODE);
|
||||||
if (macroTITLE || macroEPISODE) {
|
if (macroTITLE || macroEPISODE) {
|
||||||
@@ -872,9 +975,12 @@ const char *cRecording::FileName(void) const
|
|||||||
const char *fmt = isPesRecording ? NAMEFORMATPES : NAMEFORMATTS;
|
const char *fmt = isPesRecording ? NAMEFORMATPES : NAMEFORMATTS;
|
||||||
int ch = isPesRecording ? priority : channel;
|
int ch = isPesRecording ? priority : channel;
|
||||||
int ri = isPesRecording ? lifetime : instanceId;
|
int ri = isPesRecording ? lifetime : instanceId;
|
||||||
name = ExchangeChars(name, true);
|
char *Name = LimitNameLengths(strdup(name), DirectoryPathMax - strlen(VideoDirectory) - 1 - 42, DirectoryNameMax); // 42 = length of an actual recording directory name (generated with DATAFORMATTS) plus some reserve
|
||||||
fileName = strdup(cString::sprintf(fmt, VideoDirectory, name, t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, ch, ri));
|
if (strcmp(Name, name) != 0)
|
||||||
name = ExchangeChars(name, false);
|
dsyslog("recording file name '%s' truncated to '%s'", name, Name);
|
||||||
|
Name = ExchangeChars(Name, true);
|
||||||
|
fileName = strdup(cString::sprintf(fmt, VideoDirectory, Name, t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, ch, ri));
|
||||||
|
free(Name);
|
||||||
}
|
}
|
||||||
return fileName;
|
return fileName;
|
||||||
}
|
}
|
||||||
@@ -1743,12 +1849,14 @@ cIndexFile::cIndexFile(const char *FileName, bool Record, bool IsPesRecording, b
|
|||||||
esyslog("ERROR: can't read from file '%s'", *fileName);
|
esyslog("ERROR: can't read from file '%s'", *fileName);
|
||||||
free(index);
|
free(index);
|
||||||
index = NULL;
|
index = NULL;
|
||||||
|
}
|
||||||
|
else if (isPesRecording)
|
||||||
|
ConvertFromPes(index, size);
|
||||||
|
if (!index || time(NULL) - buf.st_mtime >= MININDEXAGE) {
|
||||||
close(f);
|
close(f);
|
||||||
f = -1;
|
f = -1;
|
||||||
}
|
}
|
||||||
// we don't close f here, see CatchUp()!
|
// otherwise we don't close f here, see CatchUp()!
|
||||||
else if (isPesRecording)
|
|
||||||
ConvertFromPes(index, size);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
LOG_ERROR_STR(*fileName);
|
LOG_ERROR_STR(*fileName);
|
||||||
@@ -1863,7 +1971,8 @@ bool cIndexFile::CatchUp(int Index)
|
|||||||
LOG_ERROR_STR(*fileName);
|
LOG_ERROR_STR(*fileName);
|
||||||
if (Index < last)
|
if (Index < last)
|
||||||
break;
|
break;
|
||||||
cCondWait::SleepMs(INDEXCATCHUPWAIT);
|
cCondVar CondVar;
|
||||||
|
CondVar.TimedWait(mutex, INDEXCATCHUPWAIT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return index != NULL;
|
return index != NULL;
|
||||||
|
@@ -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: recording.h 2.41 2012/12/23 15:11:53 kls Exp $
|
* $Id: recording.h 2.42 2013/02/07 13:42:17 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __RECORDING_H
|
#ifndef __RECORDING_H
|
||||||
@@ -22,7 +22,9 @@
|
|||||||
#define TIMERMACRO_TITLE "TITLE"
|
#define TIMERMACRO_TITLE "TITLE"
|
||||||
#define TIMERMACRO_EPISODE "EPISODE"
|
#define TIMERMACRO_EPISODE "EPISODE"
|
||||||
|
|
||||||
extern bool VfatFileSystem;
|
extern int DirectoryPathMax;
|
||||||
|
extern int DirectoryNameMax;
|
||||||
|
extern bool DirectoryEncoding;
|
||||||
extern int InstanceId;
|
extern int InstanceId;
|
||||||
|
|
||||||
void RemoveDeletedRecordings(void);
|
void RemoveDeletedRecordings(void);
|
||||||
|
63
remote.c
63
remote.c
@@ -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: remote.c 2.6 2013/01/13 12:01:52 kls Exp $
|
* $Id: remote.c 2.8 2013/02/03 15:44:55 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "remote.h"
|
#include "remote.h"
|
||||||
@@ -295,6 +295,14 @@ int cKbdRemote::MapCodeToFunc(uint64_t Code)
|
|||||||
return kfNone;
|
return kfNone;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void cKbdRemote::PutKey(uint64_t Code, bool Repeat, bool Release)
|
||||||
|
{
|
||||||
|
if (rawMode || !Put(Code, Repeat, Release)) {
|
||||||
|
if (int func = MapCodeToFunc(Code))
|
||||||
|
Put(KBDKEY(func), Repeat, Release);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int cKbdRemote::ReadKey(void)
|
int cKbdRemote::ReadKey(void)
|
||||||
{
|
{
|
||||||
cPoller Poller(STDIN_FILENO);
|
cPoller Poller(STDIN_FILENO);
|
||||||
@@ -356,24 +364,55 @@ uint64_t cKbdRemote::ReadKeySequence(void)
|
|||||||
|
|
||||||
void cKbdRemote::Action(void)
|
void cKbdRemote::Action(void)
|
||||||
{
|
{
|
||||||
|
cTimeMs FirstTime;
|
||||||
|
cTimeMs LastTime;
|
||||||
|
uint64_t FirstCommand = 0;
|
||||||
uint64_t LastCommand = 0;
|
uint64_t LastCommand = 0;
|
||||||
|
bool Delayed = false;
|
||||||
bool Repeat = false;
|
bool Repeat = false;
|
||||||
|
|
||||||
while (Running()) {
|
while (Running()) {
|
||||||
uint64_t Command = ReadKeySequence();
|
uint64_t Command = ReadKeySequence();
|
||||||
if (LastCommand && Command != LastCommand && Repeat) {
|
if (Command) {
|
||||||
if (!rawMode)
|
if (Command == LastCommand) {
|
||||||
Put(LastCommand, false, true);
|
// If two keyboard events with the same command come in without an intermediate
|
||||||
|
// timeout, this is a long key press that caused the repeat function to kick in:
|
||||||
|
Delayed = false;
|
||||||
|
FirstCommand = 0;
|
||||||
|
if (FirstTime.Elapsed() < (uint)Setup.RcRepeatDelay)
|
||||||
|
continue; // repeat function kicks in after a short delay
|
||||||
|
if (LastTime.Elapsed() < (uint)Setup.RcRepeatDelta)
|
||||||
|
continue; // skip same keys coming in too fast
|
||||||
|
PutKey(Command, true);
|
||||||
|
Repeat = true;
|
||||||
|
LastTime.Set();
|
||||||
|
}
|
||||||
|
else if (Command == FirstCommand) {
|
||||||
|
// If the same command comes in twice with an intermediate timeout, we
|
||||||
|
// need to delay the second command to see whether it is going to be
|
||||||
|
// a repeat function or a separate key press:
|
||||||
|
Delayed = true;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// This is a totally new key press, so we accept it immediately:
|
||||||
|
PutKey(Command);
|
||||||
|
Delayed = false;
|
||||||
|
FirstCommand = Command;
|
||||||
|
FirstTime.Set();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (Repeat) {
|
||||||
|
// Timeout after a repeat function, so we generate a 'release':
|
||||||
|
PutKey(LastCommand, false, true);
|
||||||
Repeat = false;
|
Repeat = false;
|
||||||
}
|
}
|
||||||
if (Command) {
|
else if (Delayed && FirstCommand) {
|
||||||
if (Command == LastCommand)
|
// Timeout after two normal key presses of the same key, so accept the
|
||||||
Repeat = true;
|
// delayed key:
|
||||||
if (rawMode || !Put(Command, Repeat)) {
|
PutKey(FirstCommand);
|
||||||
int func = MapCodeToFunc(Command);
|
Delayed = false;
|
||||||
if (func)
|
FirstCommand = 0;
|
||||||
Put(KBDKEY(func));
|
FirstTime.Set();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
LastCommand = Command;
|
LastCommand = Command;
|
||||||
}
|
}
|
||||||
|
3
remote.h
3
remote.h
@@ -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: remote.h 2.0 2008/02/23 14:38:47 kls Exp $
|
* $Id: remote.h 2.1 2013/02/03 14:34:56 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __REMOTE_H
|
#ifndef __REMOTE_H
|
||||||
@@ -111,6 +111,7 @@ private:
|
|||||||
int ReadKey(void);
|
int ReadKey(void);
|
||||||
uint64_t ReadKeySequence(void);
|
uint64_t ReadKeySequence(void);
|
||||||
int MapCodeToFunc(uint64_t Code);
|
int MapCodeToFunc(uint64_t Code);
|
||||||
|
void PutKey(uint64_t Code, bool Repeat = false, bool Release = false);
|
||||||
public:
|
public:
|
||||||
cKbdRemote(void);
|
cKbdRemote(void);
|
||||||
virtual ~cKbdRemote();
|
virtual ~cKbdRemote();
|
||||||
|
42
skinlcars.c
42
skinlcars.c
@@ -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: skinlcars.c 2.15 2012/09/19 11:05:50 kls Exp $
|
* $Id: skinlcars.c 2.18 2013/01/25 14:54:11 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// "Star Trek: The Next Generation"(R) is a registered trademark of Paramount Pictures,
|
// "Star Trek: The Next Generation"(R) is a registered trademark of Paramount Pictures,
|
||||||
@@ -199,6 +199,8 @@ THEME_CLR(Theme, clrTrackItemCurrentBg, CLR_TRACK);
|
|||||||
|
|
||||||
// --- Helper functions ------------------------------------------------------
|
// --- Helper functions ------------------------------------------------------
|
||||||
|
|
||||||
|
static bool TwoColors = false;
|
||||||
|
|
||||||
static cOsd *CreateOsd(int Left, int Top, int x0, int y0, int x1, int y1)
|
static cOsd *CreateOsd(int Left, int Top, int x0, int y0, int x1, int y1)
|
||||||
{
|
{
|
||||||
cOsd *Osd = cOsdProvider::NewOsd(Left, Top);
|
cOsd *Osd = cOsdProvider::NewOsd(Left, Top);
|
||||||
@@ -208,6 +210,7 @@ static cOsd *CreateOsd(int Left, int Top, int x0, int y0, int x1, int y1)
|
|||||||
Area.bpp = Bpp[i];
|
Area.bpp = Bpp[i];
|
||||||
if (Osd->CanHandleAreas(&Area, 1) == oeOk) {
|
if (Osd->CanHandleAreas(&Area, 1) == oeOk) {
|
||||||
Osd->SetAreas(&Area, 1);
|
Osd->SetAreas(&Area, 1);
|
||||||
|
TwoColors = Area.bpp == 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -272,16 +275,25 @@ static void DrawDeviceSignal(cOsd *Osd, const cDevice *Device, int x0, int y0, i
|
|||||||
int y01 = y00 + h;
|
int y01 = y00 + h;
|
||||||
int y03 = y1 - d;
|
int y03 = y1 - d;
|
||||||
int y02 = y03 - h;
|
int y02 = y03 - h;
|
||||||
|
tColor ColorSignalValue, ColorSignalRest;
|
||||||
|
if (TwoColors) {
|
||||||
|
ColorSignalValue = Theme.Color(clrBackground);
|
||||||
|
ColorSignalRest = Theme.Color(clrMenuFrameBg);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
ColorSignalValue = Theme.Color(clrSignalValue);
|
||||||
|
ColorSignalRest = Theme.Color(clrSignalRest);
|
||||||
|
}
|
||||||
if (SignalStrength >= 0 && (Initial || SignalStrength != LastSignalStrength)) {
|
if (SignalStrength >= 0 && (Initial || SignalStrength != LastSignalStrength)) {
|
||||||
int s = SignalStrength * w / 100;
|
int s = SignalStrength * w / 100;
|
||||||
Osd->DrawRectangle(x00, y00, x00 + s - 1, y01 - 1, Theme.Color(clrSignalValue));
|
Osd->DrawRectangle(x00, y00, x00 + s - 1, y01 - 1, ColorSignalValue);
|
||||||
Osd->DrawRectangle(x00 + s, y00, x01 - 1, y01 - 1, Theme.Color(clrSignalRest));
|
Osd->DrawRectangle(x00 + s, y00, x01 - 1, y01 - 1, ColorSignalRest);
|
||||||
LastSignalStrength = SignalStrength;
|
LastSignalStrength = SignalStrength;
|
||||||
}
|
}
|
||||||
if (SignalQuality >= 0 && (Initial || SignalQuality != LastSignalQuality)) {
|
if (SignalQuality >= 0 && (Initial || SignalQuality != LastSignalQuality)) {
|
||||||
int q = SignalQuality * w / 100;
|
int q = SignalQuality * w / 100;
|
||||||
Osd->DrawRectangle(x00, y02, x00 + q - 1, y03 - 1, Theme.Color(clrSignalValue));
|
Osd->DrawRectangle(x00, y02, x00 + q - 1, y03 - 1, ColorSignalValue);
|
||||||
Osd->DrawRectangle(x00 + q, y02, x01 - 1, y03 - 1, Theme.Color(clrSignalRest));
|
Osd->DrawRectangle(x00 + q, y02, x01 - 1, y03 - 1, ColorSignalRest);
|
||||||
LastSignalQuality = SignalQuality;
|
LastSignalQuality = SignalQuality;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -445,7 +457,7 @@ void cSkinLCARSDisplayChannel::DrawTrack(void)
|
|||||||
|
|
||||||
void cSkinLCARSDisplayChannel::DrawSeen(int Current, int Total)
|
void cSkinLCARSDisplayChannel::DrawSeen(int Current, int Total)
|
||||||
{
|
{
|
||||||
int Seen = min(xc07 - xc06, int((xc07 - xc06) * double(Current) / Total));
|
int Seen = (Total > 0) ? min(xc07 - xc06, int((xc07 - xc06) * double(Current) / Total)) : 0;
|
||||||
if (initial || Seen != lastSeen) {
|
if (initial || Seen != lastSeen) {
|
||||||
int y0 = yc11 - ShowSeenExtent;
|
int y0 = yc11 - ShowSeenExtent;
|
||||||
int y1 = yc11 + lineHeight / 2 - Gap / 2;
|
int y1 = yc11 + lineHeight / 2 - Gap / 2;
|
||||||
@@ -1331,6 +1343,7 @@ void cSkinLCARSDisplayMenu::DrawLive(const cChannel *Channel)
|
|||||||
osd->DrawText(xa00, yt00, itoa(Channel->Number()), Theme.Color(clrChannelFrameFg), Theme.Color(clrChannelFrameBg), tallFont, xa02 - xa00, yt02 - yt00, taTop | taRight | taBorder);
|
osd->DrawText(xa00, yt00, itoa(Channel->Number()), Theme.Color(clrChannelFrameFg), Theme.Color(clrChannelFrameBg), tallFont, xa02 - xa00, yt02 - yt00, taTop | taRight | taBorder);
|
||||||
osd->DrawText(xa03, yt00, Channel->Name(), Theme.Color(clrChannelName), Theme.Color(clrBackground), tallFont, xd00 - xa03, yd01 - yd00, taTop | taLeft);
|
osd->DrawText(xa03, yt00, Channel->Name(), Theme.Color(clrChannelName), Theme.Color(clrBackground), tallFont, xd00 - xa03, yd01 - yd00, taTop | taLeft);
|
||||||
lastChannel = Channel;
|
lastChannel = Channel;
|
||||||
|
DrawSeen(0, 0);
|
||||||
}
|
}
|
||||||
// The current programme:
|
// The current programme:
|
||||||
cSchedulesLock SchedulesLock;
|
cSchedulesLock SchedulesLock;
|
||||||
@@ -1411,7 +1424,7 @@ void cSkinLCARSDisplayMenu::DrawInfo(const cEvent *Event, bool WithTime)
|
|||||||
|
|
||||||
void cSkinLCARSDisplayMenu::DrawSeen(int Current, int Total)
|
void cSkinLCARSDisplayMenu::DrawSeen(int Current, int Total)
|
||||||
{
|
{
|
||||||
int Seen = min(xm08 - xm02, int((xm08 - xm02) * double(Current) / Total));
|
int Seen = (Total > 0) ? min(xm08 - xm02, int((xm08 - xm02) * double(Current) / Total)) : 0;
|
||||||
if (initial || Seen != lastSeen) {
|
if (initial || Seen != lastSeen) {
|
||||||
int y0 = yc04 - ShowSeenExtent;
|
int y0 = yc04 - ShowSeenExtent;
|
||||||
int y1 = yc04 + lineHeight / 2 - Gap / 2;
|
int y1 = yc04 + lineHeight / 2 - Gap / 2;
|
||||||
@@ -1493,8 +1506,14 @@ void cSkinLCARSDisplayMenu::SetItem(const char *Text, int Index, bool Current, b
|
|||||||
int y = yi00 + Index * lineHeight;
|
int y = yi00 + Index * lineHeight;
|
||||||
tColor ColorFg, ColorBg;
|
tColor ColorFg, ColorBg;
|
||||||
if (Current) {
|
if (Current) {
|
||||||
|
if (TwoColors) {
|
||||||
|
ColorFg = Theme.Color(clrBackground);
|
||||||
|
ColorBg = Theme.Color(clrMenuFrameBg);
|
||||||
|
}
|
||||||
|
else {
|
||||||
ColorFg = Theme.Color(clrMenuItemCurrentFg);
|
ColorFg = Theme.Color(clrMenuItemCurrentFg);
|
||||||
ColorBg = Theme.Color(clrMenuItemCurrentBg);
|
ColorBg = Theme.Color(clrMenuItemCurrentBg);
|
||||||
|
}
|
||||||
osd->DrawRectangle(xi00, y, xi01 - 1, y + lineHeight - 1, ColorBg);
|
osd->DrawRectangle(xi00, y, xi01 - 1, y + lineHeight - 1, ColorBg);
|
||||||
osd->DrawRectangle(xi02, y, xi02 + lineHeight / 2 - 1, y + lineHeight - 1, ColorBg);
|
osd->DrawRectangle(xi02, y, xi02 + lineHeight / 2 - 1, y + lineHeight - 1, ColorBg);
|
||||||
osd->DrawEllipse (xi02 + lineHeight / 2, y, xi03 - 1, y + lineHeight - 1, ColorBg, 5);
|
osd->DrawEllipse (xi02 + lineHeight / 2, y, xi03 - 1, y + lineHeight - 1, ColorBg, 5);
|
||||||
@@ -1662,6 +1681,7 @@ private:
|
|||||||
int lineHeight;
|
int lineHeight;
|
||||||
tColor frameColor;
|
tColor frameColor;
|
||||||
int lastCurrentWidth;
|
int lastCurrentWidth;
|
||||||
|
int lastTotalWidth;
|
||||||
cString lastDate;
|
cString lastDate;
|
||||||
tTrackId lastTrackId;
|
tTrackId lastTrackId;
|
||||||
void DrawDate(void);
|
void DrawDate(void);
|
||||||
@@ -1687,6 +1707,7 @@ cSkinLCARSDisplayReplay::cSkinLCARSDisplayReplay(bool ModeOnly)
|
|||||||
lineHeight = font->Height();
|
lineHeight = font->Height();
|
||||||
frameColor = Theme.Color(clrReplayFrameBg);
|
frameColor = Theme.Color(clrReplayFrameBg);
|
||||||
lastCurrentWidth = 0;
|
lastCurrentWidth = 0;
|
||||||
|
lastTotalWidth = 0;
|
||||||
int d = 5 * lineHeight;
|
int d = 5 * lineHeight;
|
||||||
xp00 = 0;
|
xp00 = 0;
|
||||||
xp01 = xp00 + d / 2;
|
xp01 = xp00 + d / 2;
|
||||||
@@ -1804,15 +1825,16 @@ void cSkinLCARSDisplayReplay::SetCurrent(const char *Current)
|
|||||||
{
|
{
|
||||||
const cFont *font = cFont::GetFont(fontOsd);
|
const cFont *font = cFont::GetFont(fontOsd);
|
||||||
int w = font->Width(Current);
|
int w = font->Width(Current);
|
||||||
osd->DrawText(xp03, yp03 - lineHeight, Current, Theme.Color(clrReplayPosition), Theme.Color(clrBackground), font, lastCurrentWidth > w ? lastCurrentWidth : w, 0, taLeft);
|
osd->DrawText(xp03, yp03 - lineHeight, Current, Theme.Color(clrReplayPosition), Theme.Color(clrBackground), font, max(lastCurrentWidth, w), 0, taLeft);
|
||||||
lastCurrentWidth = w;
|
lastCurrentWidth = w;
|
||||||
}
|
}
|
||||||
|
|
||||||
void cSkinLCARSDisplayReplay::SetTotal(const char *Total)
|
void cSkinLCARSDisplayReplay::SetTotal(const char *Total)
|
||||||
{
|
{
|
||||||
const cFont *font = cFont::GetFont(fontOsd);
|
const cFont *font = cFont::GetFont(fontOsd);
|
||||||
int w = font->Width(Total) + 10;
|
int w = font->Width(Total);
|
||||||
osd->DrawText(xp13 - w, yp03 - lineHeight, Total, Theme.Color(clrReplayPosition), Theme.Color(clrBackground), font, w, 0, taRight);
|
osd->DrawText(xp13 - w, yp03 - lineHeight, Total, Theme.Color(clrReplayPosition), Theme.Color(clrBackground), font, max(lastTotalWidth, w), 0, taRight);
|
||||||
|
lastTotalWidth = w;
|
||||||
}
|
}
|
||||||
|
|
||||||
void cSkinLCARSDisplayReplay::SetJump(const char *Jump)
|
void cSkinLCARSDisplayReplay::SetJump(const char *Jump)
|
||||||
|
26
timers.c
26
timers.c
@@ -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: timers.c 2.15 2012/12/07 13:14:00 kls Exp $
|
* $Id: timers.c 2.16 2013/02/05 11:13:20 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "timers.h"
|
#include "timers.h"
|
||||||
@@ -17,8 +17,6 @@
|
|||||||
#include "remote.h"
|
#include "remote.h"
|
||||||
#include "status.h"
|
#include "status.h"
|
||||||
|
|
||||||
#define VFAT_MAX_FILENAME 40 // same as MAX_SUBTITLE_LENGTH in recording.c
|
|
||||||
|
|
||||||
// IMPORTANT NOTE: in the 'sscanf()' calls there is a blank after the '%d'
|
// IMPORTANT NOTE: in the 'sscanf()' calls there is a blank after the '%d'
|
||||||
// format characters in order to allow any number of blanks after a numeric
|
// format characters in order to allow any number of blanks after a numeric
|
||||||
// value!
|
// value!
|
||||||
@@ -80,11 +78,6 @@ cTimer::cTimer(bool Instant, bool Pause, cChannel *Channel)
|
|||||||
lifetime = Pause ? Setup.PauseLifetime : Setup.DefaultLifetime;
|
lifetime = Pause ? Setup.PauseLifetime : Setup.DefaultLifetime;
|
||||||
if (Instant && channel)
|
if (Instant && channel)
|
||||||
snprintf(file, sizeof(file), "%s%s", Setup.MarkInstantRecord ? "@" : "", *Setup.NameInstantRecord ? Setup.NameInstantRecord : channel->Name());
|
snprintf(file, sizeof(file), "%s%s", Setup.MarkInstantRecord ? "@" : "", *Setup.NameInstantRecord ? Setup.NameInstantRecord : channel->Name());
|
||||||
if (VfatFileSystem && (Utf8StrLen(file) > VFAT_MAX_FILENAME)) {
|
|
||||||
dsyslog("timer file name too long for VFAT file system: '%s'", file);
|
|
||||||
file[Utf8SymChars(file, VFAT_MAX_FILENAME)] = 0;
|
|
||||||
dsyslog("timer file name truncated to '%s'", file);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cTimer::cTimer(const cEvent *Event)
|
cTimer::cTimer(const cEvent *Event)
|
||||||
@@ -120,11 +113,6 @@ cTimer::cTimer(const cEvent *Event)
|
|||||||
const char *Title = Event->Title();
|
const char *Title = Event->Title();
|
||||||
if (!isempty(Title))
|
if (!isempty(Title))
|
||||||
Utf8Strn0Cpy(file, Event->Title(), sizeof(file));
|
Utf8Strn0Cpy(file, Event->Title(), sizeof(file));
|
||||||
if (VfatFileSystem && (Utf8StrLen(file) > VFAT_MAX_FILENAME)) {
|
|
||||||
dsyslog("timer file name too long for VFAT file system: '%s'", file);
|
|
||||||
file[Utf8SymChars(file, VFAT_MAX_FILENAME)] = 0;
|
|
||||||
dsyslog("timer file name truncated to '%s'", file);
|
|
||||||
}
|
|
||||||
SetEvent(Event);
|
SetEvent(Event);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -332,18 +320,6 @@ bool cTimer::Parse(const char *s)
|
|||||||
}
|
}
|
||||||
//TODO add more plausibility checks
|
//TODO add more plausibility checks
|
||||||
result = ParseDay(daybuffer, day, weekdays);
|
result = ParseDay(daybuffer, day, weekdays);
|
||||||
if (VfatFileSystem) {
|
|
||||||
char *p = strrchr(filebuffer, FOLDERDELIMCHAR);
|
|
||||||
if (p)
|
|
||||||
p++;
|
|
||||||
else
|
|
||||||
p = filebuffer;
|
|
||||||
if (Utf8StrLen(p) > VFAT_MAX_FILENAME) {
|
|
||||||
dsyslog("timer file name too long for VFAT file system: '%s'", p);
|
|
||||||
p[Utf8SymChars(p, VFAT_MAX_FILENAME)] = 0;
|
|
||||||
dsyslog("timer file name truncated to '%s'", p);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Utf8Strn0Cpy(file, filebuffer, sizeof(file));
|
Utf8Strn0Cpy(file, filebuffer, sizeof(file));
|
||||||
strreplace(file, '|', ':');
|
strreplace(file, '|', ':');
|
||||||
if (isnumber(channelbuffer))
|
if (isnumber(channelbuffer))
|
||||||
|
4
timers.h
4
timers.h
@@ -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: timers.h 2.5 2012/12/07 13:13:40 kls Exp $
|
* $Id: timers.h 2.6 2013/02/05 11:23:24 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __TIMERS_H
|
#ifndef __TIMERS_H
|
||||||
@@ -39,7 +39,7 @@ private:
|
|||||||
int stop;
|
int stop;
|
||||||
int priority;
|
int priority;
|
||||||
int lifetime;
|
int lifetime;
|
||||||
mutable char file[MaxFileName];
|
mutable char file[NAME_MAX * 2]; // *2 to be able to hold 'title' and 'episode', which can each be up to 255 characters long
|
||||||
char *aux;
|
char *aux;
|
||||||
const cEvent *event;
|
const cEvent *event;
|
||||||
public:
|
public:
|
||||||
|
20
vdr.1
20
vdr.1
@@ -8,7 +8,7 @@
|
|||||||
.\" License as specified in the file COPYING that comes with the
|
.\" License as specified in the file COPYING that comes with the
|
||||||
.\" vdr distribution.
|
.\" vdr distribution.
|
||||||
.\"
|
.\"
|
||||||
.\" $Id: vdr.1 2.9 2012/09/01 13:40:49 kls Exp $
|
.\" $Id: vdr.1 2.11 2013/02/08 10:50:30 kls Exp $
|
||||||
.\"
|
.\"
|
||||||
.TH vdr 1 "10 Feb 2008" "1.6" "Video Disk Recorder"
|
.TH vdr 1 "10 Feb 2008" "1.6" "Video Disk Recorder"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
@@ -43,7 +43,7 @@ which can be accessed on port 6419, for instance by \fBtelnet\fR.
|
|||||||
Send Dolby Digital audio to stdin of command \fIcmd\fR.
|
Send Dolby Digital audio to stdin of command \fIcmd\fR.
|
||||||
.TP
|
.TP
|
||||||
.BI \-\-cachedir= dir
|
.BI \-\-cachedir= dir
|
||||||
save cache files in \fIdir\fR
|
Save cache files in \fIdir\fR
|
||||||
(default is to save them in the video directory).
|
(default is to save them in the video directory).
|
||||||
.TP
|
.TP
|
||||||
.BI \-c\ dir ,\ \-\-config= dir
|
.BI \-c\ dir ,\ \-\-config= dir
|
||||||
@@ -57,6 +57,15 @@ Run in daemon mode (implies \-\-no\-kbd).
|
|||||||
Use only the given DVB device (\fInum\fR = 0, 1, 2...).
|
Use only the given DVB device (\fInum\fR = 0, 1, 2...).
|
||||||
There may be several \fB\-D\fR options (by default all DVB devices will be used).
|
There may be several \fB\-D\fR options (by default all DVB devices will be used).
|
||||||
.TP
|
.TP
|
||||||
|
.BI \-\-dirnames= path[,name[,enc]]
|
||||||
|
Set the maximum directory path length to \fIpath\fR (default is the maximum value
|
||||||
|
allowed on the system). If \fIname\fR is also given, it defines the maximum directory
|
||||||
|
name length (default is the maximum value allowed on the system). The optional
|
||||||
|
\fIenc\fR can be 0 or 1, and controls whether special characters in directory names
|
||||||
|
are encoded as hex values (default: 0).
|
||||||
|
The length of the video directory name and that of the actual recording directory is
|
||||||
|
subtracted from \fIpath\fR, to make sure the directory path will never become too long.
|
||||||
|
.TP
|
||||||
.BI \-\-edit= rec
|
.BI \-\-edit= rec
|
||||||
Edit the given recording.
|
Edit the given recording.
|
||||||
\fIrec\fR must be the full path name of an existing recording.
|
\fIrec\fR must be the full path name of an existing recording.
|
||||||
@@ -162,7 +171,7 @@ Call \fIcmd\fR before and after a recording. See the file \fIINSTALL\fR for
|
|||||||
more information.
|
more information.
|
||||||
.TP
|
.TP
|
||||||
.BI \-\-resdir= dir
|
.BI \-\-resdir= dir
|
||||||
read resource files from \fIdir\fR
|
Read resource files from \fIdir\fR
|
||||||
(default is to read them from the config directory).
|
(default is to read them from the config directory).
|
||||||
.TP
|
.TP
|
||||||
.BI \-s\ cmd ,\ \-\-shutdown= cmd
|
.BI \-s\ cmd ,\ \-\-shutdown= cmd
|
||||||
@@ -185,11 +194,10 @@ vdr can switch to a lesser privileged user id during normal
|
|||||||
operation.
|
operation.
|
||||||
.TP
|
.TP
|
||||||
.BI \-\-userdump
|
.BI \-\-userdump
|
||||||
allow coredumps if -u is given (only for debugging).
|
Allow coredumps if -u is given (only for debugging).
|
||||||
.TP
|
.TP
|
||||||
.BI \-\-vfat
|
.BI \-\-vfat
|
||||||
Encode special characters in recording names to avoid problems
|
For backwards compatibility (same as \-\-dirnames= 250,40,1.
|
||||||
with VFAT file systems.
|
|
||||||
.TP
|
.TP
|
||||||
.BI \-v\ dir ,\ \-\-video= dir
|
.BI \-v\ dir ,\ \-\-video= dir
|
||||||
Use \fIdir\fR as video directory.
|
Use \fIdir\fR as video directory.
|
||||||
|
78
vdr.c
78
vdr.c
@@ -22,7 +22,7 @@
|
|||||||
*
|
*
|
||||||
* The project's page is at http://www.tvdr.de
|
* The project's page is at http://www.tvdr.de
|
||||||
*
|
*
|
||||||
* $Id: vdr.c 2.45 2012/12/06 10:29:23 kls Exp $
|
* $Id: vdr.c 2.48 2013/02/08 10:47:02 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
@@ -227,6 +227,7 @@ int main(int argc, char *argv[])
|
|||||||
{ "config", required_argument, NULL, 'c' },
|
{ "config", required_argument, NULL, 'c' },
|
||||||
{ "daemon", no_argument, NULL, 'd' },
|
{ "daemon", no_argument, NULL, 'd' },
|
||||||
{ "device", required_argument, NULL, 'D' },
|
{ "device", required_argument, NULL, 'D' },
|
||||||
|
{ "dirnames", required_argument, NULL, 'd' | 0x100 },
|
||||||
{ "edit", required_argument, NULL, 'e' | 0x100 },
|
{ "edit", required_argument, NULL, 'e' | 0x100 },
|
||||||
{ "epgfile", required_argument, NULL, 'E' },
|
{ "epgfile", required_argument, NULL, 'E' },
|
||||||
{ "filesize", required_argument, NULL, 'f' | 0x100 },
|
{ "filesize", required_argument, NULL, 'f' | 0x100 },
|
||||||
@@ -266,7 +267,8 @@ int main(int argc, char *argv[])
|
|||||||
break;
|
break;
|
||||||
case 'c': ConfigDirectory = optarg;
|
case 'c': ConfigDirectory = optarg;
|
||||||
break;
|
break;
|
||||||
case 'd': DaemonMode = true; break;
|
case 'd': DaemonMode = true;
|
||||||
|
break;
|
||||||
case 'D': if (isnumber(optarg)) {
|
case 'D': if (isnumber(optarg)) {
|
||||||
int n = atoi(optarg);
|
int n = atoi(optarg);
|
||||||
if (0 <= n && n < MAXDEVICES) {
|
if (0 <= n && n < MAXDEVICES) {
|
||||||
@@ -276,6 +278,43 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
fprintf(stderr, "vdr: invalid DVB device number: %s\n", optarg);
|
fprintf(stderr, "vdr: invalid DVB device number: %s\n", optarg);
|
||||||
return 2;
|
return 2;
|
||||||
|
case 'd' | 0x100: {
|
||||||
|
char *s = optarg;
|
||||||
|
int n = strtol(s, &s, 10);
|
||||||
|
if (n <= 0 || n >= PATH_MAX) {
|
||||||
|
fprintf(stderr, "vdr: invalid directory path length: %s\n", optarg);
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
DirectoryPathMax = n;
|
||||||
|
if (!*s)
|
||||||
|
break;
|
||||||
|
if (*s++ != ',') {
|
||||||
|
fprintf(stderr, "vdr: invalid delimiter: %s\n", optarg);
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
n = strtol(s, &s, 10);
|
||||||
|
if (n <= 0 || n >= NAME_MAX) {
|
||||||
|
fprintf(stderr, "vdr: invalid directory name length: %s\n", optarg);
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
DirectoryNameMax = n;
|
||||||
|
if (!*s)
|
||||||
|
break;
|
||||||
|
if (*s++ != ',') {
|
||||||
|
fprintf(stderr, "vdr: invalid delimiter: %s\n", optarg);
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
n = strtol(s, &s, 10);
|
||||||
|
if (n != 0 && n != 1) {
|
||||||
|
fprintf(stderr, "vdr: invalid directory encoding: %s\n", optarg);
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
DirectoryEncoding = n;
|
||||||
|
if (*s) {
|
||||||
|
fprintf(stderr, "vdr: unexpected data: %s\n", optarg);
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 'e' | 0x100:
|
case 'e' | 0x100:
|
||||||
return CutRecording(optarg) ? 0 : 2;
|
return CutRecording(optarg) ? 0 : 2;
|
||||||
@@ -326,7 +365,6 @@ int main(int argc, char *argv[])
|
|||||||
fprintf(stderr, "vdr: invalid log level: %s\n", optarg);
|
fprintf(stderr, "vdr: invalid log level: %s\n", optarg);
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
case 'L': if (access(optarg, R_OK | X_OK) == 0)
|
case 'L': if (access(optarg, R_OK | X_OK) == 0)
|
||||||
PluginManager.SetDirectory(optarg);
|
PluginManager.SetDirectory(optarg);
|
||||||
else {
|
else {
|
||||||
@@ -384,7 +422,9 @@ int main(int argc, char *argv[])
|
|||||||
case 'V': DisplayVersion = true;
|
case 'V': DisplayVersion = true;
|
||||||
break;
|
break;
|
||||||
case 'v' | 0x100:
|
case 'v' | 0x100:
|
||||||
VfatFileSystem = true;
|
DirectoryPathMax = 250;
|
||||||
|
DirectoryNameMax = 40;
|
||||||
|
DirectoryEncoding = true;
|
||||||
break;
|
break;
|
||||||
case 'v': VideoDirectory = optarg;
|
case 'v': VideoDirectory = optarg;
|
||||||
while (optarg && *optarg && optarg[strlen(optarg) - 1] == '/')
|
while (optarg && *optarg && optarg[strlen(optarg) - 1] == '/')
|
||||||
@@ -399,7 +439,6 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
fprintf(stderr, "vdr: invalid watchdog timeout: %s\n", optarg);
|
fprintf(stderr, "vdr: invalid watchdog timeout: %s\n", optarg);
|
||||||
return 2;
|
return 2;
|
||||||
break;
|
|
||||||
default: return 2;
|
default: return 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -435,6 +474,13 @@ int main(int argc, char *argv[])
|
|||||||
" -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"
|
||||||
" devices will be used)\n"
|
" devices will be used)\n"
|
||||||
|
" --dirnames=PATH[,NAME[,ENC]]\n"
|
||||||
|
" set the maximum directory path length to PATH\n"
|
||||||
|
" (default: %d); if NAME is also given, it defines\n"
|
||||||
|
" the maximum directory name length (default: %d);\n"
|
||||||
|
" the optional ENC can be 0 or 1, and controls whether\n"
|
||||||
|
" special characters in directory names are encoded as\n"
|
||||||
|
" hex values (default: 0)\n"
|
||||||
" --edit=REC cut recording REC and exit\n"
|
" --edit=REC cut recording REC and exit\n"
|
||||||
" -E FILE, --epgfile=FILE write the EPG data into the given FILE (default is\n"
|
" -E FILE, --epgfile=FILE write the EPG data into the given FILE (default is\n"
|
||||||
" '%s' in the video directory)\n"
|
" '%s' in the video directory)\n"
|
||||||
@@ -477,13 +523,15 @@ int main(int argc, char *argv[])
|
|||||||
" --userdump allow coredumps if -u is given (debugging)\n"
|
" --userdump allow coredumps if -u is given (debugging)\n"
|
||||||
" -v DIR, --video=DIR use DIR as video directory (default: %s)\n"
|
" -v DIR, --video=DIR use DIR as video directory (default: %s)\n"
|
||||||
" -V, --version print version information and exit\n"
|
" -V, --version print version information and exit\n"
|
||||||
" --vfat encode special characters in recording names to\n"
|
" --vfat for backwards compatibility (same as\n"
|
||||||
" avoid problems with VFAT file systems\n"
|
" --dirnames=250,40,1\n"
|
||||||
" -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",
|
||||||
DEFAULTCACHEDIR,
|
DEFAULTCACHEDIR,
|
||||||
DEFAULTCONFDIR,
|
DEFAULTCONFDIR,
|
||||||
|
PATH_MAX,
|
||||||
|
NAME_MAX,
|
||||||
DEFAULTEPGDATAFILENAME,
|
DEFAULTEPGDATAFILENAME,
|
||||||
MAXVIDEOFILESIZEDEFAULT,
|
MAXVIDEOFILESIZEDEFAULT,
|
||||||
DEFAULTPLUGINDIR,
|
DEFAULTPLUGINDIR,
|
||||||
@@ -924,7 +972,7 @@ int main(int argc, char *argv[])
|
|||||||
Device->SetOccupied(TIMERDEVICETIMEOUT);
|
Device->SetOccupied(TIMERDEVICETIMEOUT);
|
||||||
}
|
}
|
||||||
if (cDevice::PrimaryDevice()->HasDecoder() && HadProgramme && !cDevice::PrimaryDevice()->HasProgramme())
|
if (cDevice::PrimaryDevice()->HasDecoder() && HadProgramme && !cDevice::PrimaryDevice()->HasProgramme())
|
||||||
Skins.Message(mtInfo, tr("Upcoming recording!")); // the previous SwitchChannel() has switched away the current live channel
|
Skins.QueueMessage(mtInfo, tr("Upcoming recording!")); // the previous SwitchChannel() has switched away the current live channel
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1095,7 +1143,7 @@ int main(int argc, char *argv[])
|
|||||||
if (Setup.PauseKeyHandling) {
|
if (Setup.PauseKeyHandling) {
|
||||||
if (Setup.PauseKeyHandling > 1 || Interface->Confirm(tr("Pause live video?"))) {
|
if (Setup.PauseKeyHandling > 1 || Interface->Confirm(tr("Pause live video?"))) {
|
||||||
if (!cRecordControls::PauseLiveVideo())
|
if (!cRecordControls::PauseLiveVideo())
|
||||||
Skins.Message(mtError, tr("No free DVB device to record!"));
|
Skins.QueueMessage(mtError, tr("No free DVB device to record!"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
key = kNone; // nobody else needs to see this key
|
key = kNone; // nobody else needs to see this key
|
||||||
@@ -1105,7 +1153,7 @@ int main(int argc, char *argv[])
|
|||||||
case kRecord:
|
case kRecord:
|
||||||
if (!cControl::Control()) {
|
if (!cControl::Control()) {
|
||||||
if (cRecordControls::Start())
|
if (cRecordControls::Start())
|
||||||
Skins.Message(mtInfo, tr("Recording started"));
|
Skins.QueueMessage(mtInfo, tr("Recording started"));
|
||||||
key = kNone; // nobody else needs to see this key
|
key = kNone; // nobody else needs to see this key
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -1157,11 +1205,11 @@ int main(int argc, char *argv[])
|
|||||||
switch (state) {
|
switch (state) {
|
||||||
case osPause: DELETE_MENU;
|
case osPause: DELETE_MENU;
|
||||||
if (!cRecordControls::PauseLiveVideo())
|
if (!cRecordControls::PauseLiveVideo())
|
||||||
Skins.Message(mtError, tr("No free DVB device to record!"));
|
Skins.QueueMessage(mtError, tr("No free DVB device to record!"));
|
||||||
break;
|
break;
|
||||||
case osRecord: DELETE_MENU;
|
case osRecord: DELETE_MENU;
|
||||||
if (cRecordControls::Start())
|
if (cRecordControls::Start())
|
||||||
Skins.Message(mtInfo, tr("Recording started"));
|
Skins.QueueMessage(mtInfo, tr("Recording started"));
|
||||||
break;
|
break;
|
||||||
case osRecordings:
|
case osRecordings:
|
||||||
DELETE_MENU;
|
DELETE_MENU;
|
||||||
@@ -1179,7 +1227,7 @@ int main(int argc, char *argv[])
|
|||||||
case osSwitchDvb:
|
case osSwitchDvb:
|
||||||
DELETE_MENU;
|
DELETE_MENU;
|
||||||
cControl::Shutdown();
|
cControl::Shutdown();
|
||||||
Skins.Message(mtInfo, tr("Switching primary DVB..."));
|
Skins.QueueMessage(mtInfo, tr("Switching primary DVB..."));
|
||||||
cDevice::SetPrimaryDevice(Setup.PrimaryDVB);
|
cDevice::SetPrimaryDevice(Setup.PrimaryDVB);
|
||||||
break;
|
break;
|
||||||
case osPlugin: DELETE_MENU;
|
case osPlugin: DELETE_MENU;
|
||||||
@@ -1249,9 +1297,9 @@ int main(int argc, char *argv[])
|
|||||||
EITScanner.Process();
|
EITScanner.Process();
|
||||||
if (!cCutter::Active() && cCutter::Ended()) {
|
if (!cCutter::Active() && cCutter::Ended()) {
|
||||||
if (cCutter::Error())
|
if (cCutter::Error())
|
||||||
Skins.Message(mtError, tr("Editing process failed!"));
|
Skins.QueueMessage(mtError, tr("Editing process failed!"));
|
||||||
else
|
else
|
||||||
Skins.Message(mtInfo, tr("Editing process finished"));
|
Skins.QueueMessage(mtInfo, tr("Editing process finished"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user