mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Version 2.1.8
VDR developer version 2.1.8 is now available at ftp://ftp.tvdr.de/vdr/Developer/vdr-2.1.8.tar.bz2 A 'diff' against the previous version is available at ftp://ftp.tvdr.de/vdr/Developer/vdr-2.1.7-2.1.8.diff MD5 checksums: 1d2751e87def9b18b448513f24e635e9 vdr-2.1.8.tar.bz2 0487e037278f6f6684a7933674910f05 vdr-2.1.7-2.1.8.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. From the HISTORY file: - Updated the Italian OSD texts (thanks to Diego Pierotto). - Fixed "warning: invalid suffix on literal" with GCC 4.8 and C++11 (thanks to Joerg Bornkessel). - Fixed the link to "svdrpsend (1)" in the vdr.1 man page (thanks to Chris Mayo). - Updated the Finnish OSD texts (thanks to Rolf Ahrenberg). - Updated the Romanian OSD texts (thanks to Lucian Muresan). - Added functionality based on the "jumpplay" patch from Torsten Kunkel and Thomas Günther: + The new option "Setup/Replay/Pause replay when jumping to a mark" can be used to turn off pausing replay when jumping to an editing mark with the '9' key. + The new option "Setup/Replay/Skip edited parts" can be used to automatically skip the edited parts of a recording during replay, without the need to actually cut the recording. + The new option "Setup/Replay/Pause replay at last mark" can be used to make replay go into Pause mode when it has reached the last "end" mark. + The '8' key for testing an edited sequence now also jumps to the next *end* mark if "Setup/Replay/Skip edited parts" is active. This allows for testing edits in recordings that have actually been cut, as well as recordings that have not been cut, in case "Skip edited parts" is enabled. - Added support for "Satellite Channel Routing" (SCR) according to EN50607, also known as "JESS" (thanks to Manfred Völkel and Frank Neumann). - The keys '1' and '3' can now be used in replay mode to position an editing mark in "binary" mode (based on a patch from Rolf Ahrenberg, with modifications by Helmut Auer). See MANUAL, section "Editing a Recording". - The Yellow button in the "Setup/CAM" menu can now be used to put the selected CAM into a mode where it remains assigned to a device that is tuned to the current channel until the smart card it contains is activated and the CAM thus starts to descramble (see MANUAL, section "Setup/CAM" for details). - Updated the Estonian OSD texts (thanks to Arthur Konovalov). - Added ARGSDIR to the ONEDIR section of Make.config.template (suggested by Derek Kelly). - Made cRecording::GetResume() public (suggested by Stefan Braun). - Fixed setting the read index in cDvbPlayer::Goto() in case Still is false. - The function cDvbPlayer::Goto() now automatically calls Play() if Still is false. - Added support for LCN (Logical Channel Numbers), which plugins may use to sort channels (thanks to Rolf Ahrenberg).
This commit is contained in:
parent
2db7397542
commit
4ee983a294
11
CONTRIBUTORS
11
CONTRIBUTORS
@ -624,6 +624,7 @@ Helmut Auer <vdr@helmutauer.de>
|
|||||||
for helping to debug a problem with frame detection in MPEG-2 streams that have "bottom fields"
|
for helping to debug a problem with frame detection in MPEG-2 streams that have "bottom fields"
|
||||||
or varying GOP structures
|
or varying GOP structures
|
||||||
for a patch that was used to implement the command line option --updindex
|
for a patch that was used to implement the command line option --updindex
|
||||||
|
for modifying the "binary skip" patch to move editing marks
|
||||||
|
|
||||||
Jeremy Hall <jhall@UU.NET>
|
Jeremy Hall <jhall@UU.NET>
|
||||||
for fixing an incomplete initialization of the filter parameters in eit.c
|
for fixing an incomplete initialization of the filter parameters in eit.c
|
||||||
@ -1192,6 +1193,8 @@ Rolf Ahrenberg <Rolf.Ahrenberg@sci.fi>
|
|||||||
for adding support for "Pilot", "T2-System-Id" and "SISO/MISO" parameters
|
for adding support for "Pilot", "T2-System-Id" and "SISO/MISO" parameters
|
||||||
for fixing a problem with subtitles not being displayed because the broadcaster
|
for fixing a problem with subtitles not being displayed because the broadcaster
|
||||||
doesn't set the data's version numbers as required by the DVB standard
|
doesn't set the data's version numbers as required by the DVB standard
|
||||||
|
for the "binary skip" patch
|
||||||
|
for adding support for LCN (Logical Channel Numbers)
|
||||||
|
|
||||||
Ralf Klueber <ralf.klueber@vodafone.com>
|
Ralf Klueber <ralf.klueber@vodafone.com>
|
||||||
for reporting a bug in cutting a recording if there is only a single editing mark
|
for reporting a bug in cutting a recording if there is only a single editing mark
|
||||||
@ -2139,6 +2142,7 @@ Thomas G
|
|||||||
which results in using tr(FileNameChars)
|
which results in using tr(FileNameChars)
|
||||||
for fixing handling "none" color entries in XPM files
|
for fixing handling "none" color entries in XPM files
|
||||||
for fixing displaying the frame number when setting an editing mark
|
for fixing displaying the frame number when setting an editing mark
|
||||||
|
for the "jumpplay" patch
|
||||||
|
|
||||||
David Woodhouse <dwmw2@infradead.org>
|
David Woodhouse <dwmw2@infradead.org>
|
||||||
for his help in replacing the get/put_unaligned() macros from asm/unaligned.h with
|
for his help in replacing the get/put_unaligned() macros from asm/unaligned.h with
|
||||||
@ -2677,6 +2681,7 @@ Torsten Kunkel <vdrml@tkunkel.de>
|
|||||||
for pointing out that it was not obvious how to initiate internationalization
|
for pointing out that it was not obvious how to initiate internationalization
|
||||||
support for a plugin
|
support for a plugin
|
||||||
for suggesting to add a section about "Logging" to PLUGINS.html
|
for suggesting to add a section about "Logging" to PLUGINS.html
|
||||||
|
for the "jumpplay" patch
|
||||||
|
|
||||||
Michael Nival <mnival@club-internet.fr>
|
Michael Nival <mnival@club-internet.fr>
|
||||||
for translating OSD texts to the French language
|
for translating OSD texts to the French language
|
||||||
@ -2824,6 +2829,7 @@ Derek Kelly <user.vdr@gmail.com>
|
|||||||
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
|
for reporting a missing template for DVBDIR in Make.config.template
|
||||||
|
for suggesting to add ARGSDIR to the ONEDIR section of Make.config.template
|
||||||
|
|
||||||
Marcel Unbehaun <frostworks@gmx.de>
|
Marcel Unbehaun <frostworks@gmx.de>
|
||||||
for adding cRecordingInfo::GetEvent()
|
for adding cRecordingInfo::GetEvent()
|
||||||
@ -2969,6 +2975,7 @@ Dominik Strasser <dominik@die-strassers.de>
|
|||||||
Joerg Bornkessel <hd_brummy@gentoo.org>
|
Joerg Bornkessel <hd_brummy@gentoo.org>
|
||||||
for adding LDFLAGS to the linker calls in the Makefiles
|
for adding LDFLAGS to the linker calls in the Makefiles
|
||||||
for fixing font handling with fontconfig 2.9.0 or newer
|
for fixing font handling with fontconfig 2.9.0 or newer
|
||||||
|
for fixing "warning: invalid suffix on literal" with GCC 4.8 and C++11
|
||||||
|
|
||||||
Andreas Oberritter <obi@opendreambox.org>
|
Andreas Oberritter <obi@opendreambox.org>
|
||||||
for suggesting to retrieve the include path to the freetype2 header files
|
for suggesting to retrieve the include path to the freetype2 header files
|
||||||
@ -2981,6 +2988,7 @@ Frank Neumann <fnu@yavdr.org>
|
|||||||
for suggesting to reduce the thread and I/O priority cCuttingThread::Action()
|
for suggesting to reduce the thread and I/O priority cCuttingThread::Action()
|
||||||
for reporting a problem with tuning timeouts when using SCR with multiple tuners
|
for reporting a problem with tuning timeouts when using SCR with multiple tuners
|
||||||
for fixing the German translation of "VDR will shut down in %s minutes"
|
for fixing the German translation of "VDR will shut down in %s minutes"
|
||||||
|
for adding support for "Satellite Channel Routing" (SCR) according to EN50607 ("JESS")
|
||||||
|
|
||||||
Gerald Dachs <vdr@dachsweb.de>
|
Gerald Dachs <vdr@dachsweb.de>
|
||||||
for reporting a problem with checking for minimum line length of 21 characters in
|
for reporting a problem with checking for minimum line length of 21 characters in
|
||||||
@ -3045,6 +3053,7 @@ Frank Niederwipper <f.niederwipper@gmail.com>
|
|||||||
|
|
||||||
Chris Mayo <aklhfex@gmail.com>
|
Chris Mayo <aklhfex@gmail.com>
|
||||||
for reporting a problem with detecting frames on radio channels
|
for reporting a problem with detecting frames on radio channels
|
||||||
|
for fixing the link to "svdrpsend (1)" in the vdr.1 man page
|
||||||
|
|
||||||
Dominic Evans <oldmanuk@gmail.com>
|
Dominic Evans <oldmanuk@gmail.com>
|
||||||
for making the SVDRP command LSTC accepts channel IDs
|
for making the SVDRP command LSTC accepts channel IDs
|
||||||
@ -3229,6 +3238,7 @@ Stefan Braun <louis.braun@gmx.de>
|
|||||||
for reporting an endless loop in the DrawEllipse() functions for very small ellipses
|
for reporting an endless loop in the DrawEllipse() functions for very small ellipses
|
||||||
for suggesting to add the menu category mcRecordingEdit for marking menus that edit
|
for suggesting to add the menu category mcRecordingEdit for marking menus that edit
|
||||||
recording properties
|
recording properties
|
||||||
|
for suggesting to make cRecording::GetResume() public
|
||||||
|
|
||||||
Jochen Dolze <vdr@dolze.de>
|
Jochen Dolze <vdr@dolze.de>
|
||||||
for changing cThread::SetIOPriority() from "best effort class" to "idle class" in order
|
for changing cThread::SetIOPriority() from "best effort class" to "idle class" in order
|
||||||
@ -3243,6 +3253,7 @@ Seppo Ingalsuo <seppo.ingalsuo@iki.fi>
|
|||||||
Manfred Völkel <mvoelkel@digitaldevices.de>
|
Manfred Völkel <mvoelkel@digitaldevices.de>
|
||||||
for suggesting to make all bonded devices (except for the master) turn off their LNB
|
for suggesting to make all bonded devices (except for the master) turn off their LNB
|
||||||
power completely to avoid problems when receiving vertically polarized transponders
|
power completely to avoid problems when receiving vertically polarized transponders
|
||||||
|
for adding support for "Satellite Channel Routing" (SCR) according to EN50607 ("JESS")
|
||||||
|
|
||||||
Thomas Maass <mase@setho.org>
|
Thomas Maass <mase@setho.org>
|
||||||
for reporting a difference in the internal sequence of actions when pressing the Blue
|
for reporting a difference in the internal sequence of actions when pressing the Blue
|
||||||
|
58
HISTORY
58
HISTORY
@ -8394,3 +8394,61 @@ Video Disk Recorder Revision History
|
|||||||
do so again with this version to make sure the index is OK.
|
do so again with this version to make sure the index is OK.
|
||||||
- Added the new command line option --updindex, which can be used to update an
|
- Added the new command line option --updindex, which can be used to update an
|
||||||
incomplete index of a recording (based on a patch from Helmut Auer).
|
incomplete index of a recording (based on a patch from Helmut Auer).
|
||||||
|
|
||||||
|
2015-01-20: Version 2.0.7
|
||||||
|
|
||||||
|
- Fixed a possible division by zero in frame rate detection.
|
||||||
|
- Fixed a bug in the Makefile when installing plugins with LCLBLD=1 (thanks to
|
||||||
|
Stefan Huelswitt).
|
||||||
|
- Fixed jumping to an absolute position via the Red key in case replay was paused
|
||||||
|
(reported by Dieter Ferdinand).
|
||||||
|
- Now returning from removing deleted recordings after at most 10 seconds, or if the
|
||||||
|
user presses a remote control key, to keep the system from getting unresponsive
|
||||||
|
when removing a huge number of files (reported by Dieter Ferdinand).
|
||||||
|
- Fixed generating the index file of an existing recording in case at the of a TS file
|
||||||
|
there is less data in the buffer than needed by the frame detector. In such a case
|
||||||
|
it was possible that frames were missed, and there was most likely a distortion
|
||||||
|
when replaying that part of a recording. This is mostly a problem for recordings that
|
||||||
|
consist of more than one *.ts file. Single file recordings could only lose some
|
||||||
|
frames at their very end, which probably doesn't matter. At any rate, if you have
|
||||||
|
generated an index file with VDR version 2.0.6 you may want to do so again with this
|
||||||
|
version to make sure the index is OK.
|
||||||
|
|
||||||
|
2015-02-01: Version 2.1.8
|
||||||
|
|
||||||
|
- Updated the Italian OSD texts (thanks to Diego Pierotto).
|
||||||
|
- Fixed "warning: invalid suffix on literal" with GCC 4.8 and C++11 (thanks to Joerg
|
||||||
|
Bornkessel).
|
||||||
|
- Fixed the link to "svdrpsend (1)" in the vdr.1 man page (thanks to Chris Mayo).
|
||||||
|
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
|
||||||
|
- Updated the Romanian OSD texts (thanks to Lucian Muresan).
|
||||||
|
- Added functionality based on the "jumpplay" patch from Torsten Kunkel and Thomas
|
||||||
|
Günther:
|
||||||
|
+ The new option "Setup/Replay/Pause replay when jumping to a mark" can be used to
|
||||||
|
turn off pausing replay when jumping to an editing mark with the '9' key.
|
||||||
|
+ The new option "Setup/Replay/Skip edited parts" can be used to automatically skip
|
||||||
|
the edited parts of a recording during replay, without the need to actually cut
|
||||||
|
the recording.
|
||||||
|
+ The new option "Setup/Replay/Pause replay at last mark" can be used to make replay
|
||||||
|
go into Pause mode when it has reached the last "end" mark.
|
||||||
|
+ The '8' key for testing an edited sequence now also jumps to the next *end*
|
||||||
|
mark if "Setup/Replay/Skip edited parts" is active. This allows for testing edits
|
||||||
|
in recordings that have actually been cut, as well as recordings that have not
|
||||||
|
been cut, in case "Skip edited parts" is enabled.
|
||||||
|
- Added support for "Satellite Channel Routing" (SCR) according to EN50607, also
|
||||||
|
known as "JESS" (thanks to Manfred Völkel and Frank Neumann).
|
||||||
|
- The keys '1' and '3' can now be used in replay mode to position an editing mark
|
||||||
|
in "binary" mode (based on a patch from Rolf Ahrenberg, with modifications by Helmut
|
||||||
|
Auer). See MANUAL, section "Editing a Recording".
|
||||||
|
- The Yellow button in the "Setup/CAM" menu can now be used to put the selected
|
||||||
|
CAM into a mode where it remains assigned to a device that is tuned to the current
|
||||||
|
channel until the smart card it contains is activated and the CAM thus starts to
|
||||||
|
descramble (see MANUAL, section "Setup/CAM" for details).
|
||||||
|
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
|
||||||
|
- Added ARGSDIR to the ONEDIR section of Make.config.template (suggested by Derek
|
||||||
|
Kelly).
|
||||||
|
- Made cRecording::GetResume() public (suggested by Stefan Braun).
|
||||||
|
- Fixed setting the read index in cDvbPlayer::Goto() in case Still is false.
|
||||||
|
- The function cDvbPlayer::Goto() now automatically calls Play() if Still is false.
|
||||||
|
- Added support for LCN (Logical Channel Numbers), which plugins may use to sort
|
||||||
|
channels (thanks to Rolf Ahrenberg).
|
||||||
|
5
INSTALL
5
INSTALL
@ -391,8 +391,9 @@ access your DiSEqC equipment (see man vdr(5) for details).
|
|||||||
A special form of DiSEqC is used to connect several receivers to one signal
|
A special form of DiSEqC is used to connect several receivers to one signal
|
||||||
source using only a single cable. This method, known as "Satellite Channel Routing"
|
source using only a single cable. This method, known as "Satellite Channel Routing"
|
||||||
according to EN50494 (aka "Unicable(TM)", "OLT(TM)", "SatCR", "Single Cable
|
according to EN50494 (aka "Unicable(TM)", "OLT(TM)", "SatCR", "Single Cable
|
||||||
Distribution", "Channel Stacking System" or "Single Cable Interface") uses
|
Distribution", "Channel Stacking System" or "Single Cable Interface") or
|
||||||
the file "scr.conf" to specify which SCR channels use which user band frequency.
|
EN50607 (aka "JESS") uses the file "scr.conf" to specify which SCR channels
|
||||||
|
use which user band frequency.
|
||||||
|
|
||||||
If DVB-S devices need to be connected to the same satellite cable, but no
|
If DVB-S devices need to be connected to the same satellite cable, but no
|
||||||
"Satellite Channel Routing" is available, they can be set to be "bonded" in
|
"Satellite Channel Routing" is available, they can be set to be "bonded" in
|
||||||
|
71
MANUAL
71
MANUAL
@ -363,15 +363,29 @@ Version 2.0
|
|||||||
- 0 Toggles an editing mark. If the mark indicator shows a red triangle,
|
- 0 Toggles an editing mark. If the mark indicator shows a red triangle,
|
||||||
the current mark is deleted. Otherwise a new mark is set at the
|
the current mark is deleted. Otherwise a new mark is set at the
|
||||||
current position.
|
current position.
|
||||||
- 4, 6 Move an editing mark back and forward. You need to first jump to
|
- 1, 3 Move an editing mark back and forward in "binary" mode. Pressing
|
||||||
an editing mark for this to work.
|
either of these keys for the first time moves the mark 120 seconds
|
||||||
|
in the given direction (configurable via "Setup/Replay/Binary skip
|
||||||
|
initial value"). Further presses of the same key keep moving
|
||||||
|
the mark by the same value. Once the other key is pressed, the value
|
||||||
|
is divided by 2 (hence the name "binary") with every further press
|
||||||
|
of either key. Pressing '1' and '3' alternatingly divides the
|
||||||
|
distance all the way down to a single I-frame. That way a particular
|
||||||
|
place in a recording (for instance the beginning or end of a
|
||||||
|
commercial break) can be found very quickly. If none of these two
|
||||||
|
keys is pressed for a while (configurable via "Setup/Replay/Binary
|
||||||
|
skip timeout") the distance falls back to the initial value.
|
||||||
|
If replay is not in Pause mode, or if there is no mark at the
|
||||||
|
current position, the skip is performed without moving any mark.
|
||||||
|
- 4, 6 Move an editing mark back and forward by one I-frame. You need to
|
||||||
|
first jump to an editing mark for this to work.
|
||||||
- 7, 9 Jump back and forward between editing marks. Replay goes into still
|
- 7, 9 Jump back and forward between editing marks. Replay goes into still
|
||||||
mode after jumping to a mark. If the current position is at the
|
mode after jumping to a mark. If the current position is at the
|
||||||
first or last mark, or if there are no marks at all, these keys
|
first or last mark, or if there are no marks at all, these keys
|
||||||
jump to the very beginning or end, respectively, of the recording.
|
jump to the very beginning or end, respectively, of the recording.
|
||||||
- 8 Positions replay at a point 3 seconds before the current or next
|
- 8 Positions replay at a point 3 seconds before the current or next
|
||||||
"begin" mark and starts replay.
|
"begin" mark and starts replay.
|
||||||
- 2 Start the actual cutting process.
|
- 2 Starts the actual cutting process.
|
||||||
|
|
||||||
Editing marks are represented by black, vertical lines in the progress display.
|
Editing marks are represented by black, vertical lines in the progress display.
|
||||||
A small black triangle at the top of the mark means that this is a "begin"
|
A small black triangle at the top of the mark means that this is a "begin"
|
||||||
@ -831,7 +845,19 @@ Version 2.0
|
|||||||
if it is in the process of being reset, its current status
|
if it is in the process of being reset, its current status
|
||||||
is displayed. The "Red" key can be pressed to enter the CAM
|
is displayed. The "Red" key can be pressed to enter the CAM
|
||||||
menu, and the "Green" key triggers a reset of the selected
|
menu, and the "Green" key triggers a reset of the selected
|
||||||
slot. The "Ok" key also opens the CAM menu.
|
slot. The "Ok" key also opens the CAM menu. The "Yellow" key
|
||||||
|
assigns the selected CAM to a device and switches it to the
|
||||||
|
current channel. The CAM/device combination remains tuned to
|
||||||
|
the current channel until the smart card in the CAM has been
|
||||||
|
activated and thus starts to descramble, or until a recording
|
||||||
|
needs this device. Pressing the "Yellow" key while a CAM is
|
||||||
|
in activation mode cancels the activation. The activation mode
|
||||||
|
remains in effect even if you switch to a different channel
|
||||||
|
(provided there is more than one device in the system) or
|
||||||
|
watch a recording. To activate your smart card simply switch
|
||||||
|
to the channel you want to watch, open the "Setup/CAM" menu,
|
||||||
|
select the CAM that contains the smart card (in case you
|
||||||
|
have more than one CAM) and press the "Yellow" key.
|
||||||
|
|
||||||
Recording:
|
Recording:
|
||||||
|
|
||||||
@ -943,6 +969,43 @@ Version 2.0
|
|||||||
Defines whether the player automatically goes into Pause
|
Defines whether the player automatically goes into Pause
|
||||||
mode when setting an editing mark.
|
mode when setting an editing mark.
|
||||||
|
|
||||||
|
Pause replay when jumping to a mark = yes
|
||||||
|
By default replay is automatically paused whenever you jump
|
||||||
|
to an editing mark with the '7' or '9' key in order to allow
|
||||||
|
you to easily adjust those marks. If this option is set to
|
||||||
|
'no', the '9' key will not pause if you are in Play mode and
|
||||||
|
the mark you jump to is not within 3 seconds of the end of
|
||||||
|
the recording.
|
||||||
|
|
||||||
|
Skip edited parts = no Defines whether the edited parts of a recording are
|
||||||
|
automatically skipped during replay. This includes jumping
|
||||||
|
to the first mark if replay starts at the beginning of the
|
||||||
|
recording, and stopping at the last mark.
|
||||||
|
In order to work, this option must be enabled before starting
|
||||||
|
replay.
|
||||||
|
|
||||||
|
Pause replay at last mark = no
|
||||||
|
If enabled, replay of a recording will go into Pause mode
|
||||||
|
when it has reached the last "end" mark (if any). Note that
|
||||||
|
the actual position at which the pause occurs may be a couple
|
||||||
|
of frames before the last "end" mark, depending on how much
|
||||||
|
data is buffered by your output device.
|
||||||
|
In order to work, this option must be enabled before starting
|
||||||
|
replay.
|
||||||
|
|
||||||
|
Binary skip initial value (s) = 120
|
||||||
|
Defines the number of seconds to jump from the current replay
|
||||||
|
position in either direction, when pressing the '1' or '3'
|
||||||
|
key for the first time after the "Binary skip timeout".
|
||||||
|
The valid range is 10...600.
|
||||||
|
|
||||||
|
Binary skip timeout (s) = 3
|
||||||
|
Defines the number of seconds after which pressing the
|
||||||
|
'1' or '3' key falls back to the "Binary skip initial value".
|
||||||
|
The valid range is 0...10. Setting the timeout to 0 disables
|
||||||
|
the binary mode and makes '1' and '3' always skip the number
|
||||||
|
of seconds configured as the initial value.
|
||||||
|
|
||||||
Resume ID = 0 Defines an additional ID that can be used in a multi user
|
Resume ID = 0 Defines an additional ID that can be used in a multi user
|
||||||
environment, so that every user has his/her own resume
|
environment, so that every user has his/her own resume
|
||||||
files for each recording. The valid range is 0...99, with
|
files for each recording. The valid range is 0...99, with
|
||||||
|
@ -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 3.1 2014/04/14 11:43:53 kls Exp $
|
# $Id: Make.config.template 3.2 2015/01/30 15:18:47 kls Exp $
|
||||||
|
|
||||||
### The C compiler and options:
|
### The C compiler and options:
|
||||||
|
|
||||||
@ -58,6 +58,7 @@ ifdef ONEDIR
|
|||||||
VIDEODIR = /video
|
VIDEODIR = /video
|
||||||
CACHEDIR = $(VIDEODIR)
|
CACHEDIR = $(VIDEODIR)
|
||||||
CONFDIR = $(VIDEODIR)
|
CONFDIR = $(VIDEODIR)
|
||||||
|
ARGSDIR = $(VIDEODIR)/conf.d
|
||||||
RESDIR = $(VIDEODIR)
|
RESDIR = $(VIDEODIR)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
11
channels.c
11
channels.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: channels.c 3.7 2015/01/14 12:15:03 kls Exp $
|
* $Id: channels.c 3.8 2015/02/01 13:47:05 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "channels.h"
|
#include "channels.h"
|
||||||
@ -248,6 +248,15 @@ void cChannel::SetId(int Nid, int Tid, int Sid, int Rid)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void cChannel::SetLcn(int Lcn)
|
||||||
|
{
|
||||||
|
if (lcn != Lcn) {
|
||||||
|
if (Number())
|
||||||
|
dsyslog("changing lcn of channel %d (%s) from %d to %d\n", Number(), name, lcn, Lcn);
|
||||||
|
lcn = Lcn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void cChannel::SetName(const char *Name, const char *ShortName, const char *Provider)
|
void cChannel::SetName(const char *Name, const char *ShortName, const char *Provider)
|
||||||
{
|
{
|
||||||
if (!isempty(Name)) {
|
if (!isempty(Name)) {
|
||||||
|
@ -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: channels.h 3.2 2014/01/04 15:01:21 kls Exp $
|
* $Id: channels.h 3.3 2015/02/01 13:30:26 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __CHANNELS_H
|
#ifndef __CHANNELS_H
|
||||||
@ -121,6 +121,7 @@ private:
|
|||||||
int tid;
|
int tid;
|
||||||
int sid;
|
int sid;
|
||||||
int rid;
|
int rid;
|
||||||
|
int lcn; // Logical channel number assigned by data stream (or -1 if not available)
|
||||||
int number; // Sequence number assigned on load
|
int number; // Sequence number assigned on load
|
||||||
bool groupSep;
|
bool groupSep;
|
||||||
int __EndData__;
|
int __EndData__;
|
||||||
@ -174,6 +175,7 @@ public:
|
|||||||
int Tid(void) const { return tid; }
|
int Tid(void) const { return tid; }
|
||||||
int Sid(void) const { return sid; }
|
int Sid(void) const { return sid; }
|
||||||
int Rid(void) const { return rid; }
|
int Rid(void) const { return rid; }
|
||||||
|
int Lcn(void) const { return lcn; }
|
||||||
int Number(void) const { return number; }
|
int Number(void) const { return number; }
|
||||||
void SetNumber(int Number) { number = Number; }
|
void SetNumber(int Number) { number = Number; }
|
||||||
bool GroupSep(void) const { return groupSep; }
|
bool GroupSep(void) const { return groupSep; }
|
||||||
@ -192,6 +194,7 @@ public:
|
|||||||
void CopyTransponderData(const cChannel *Channel);
|
void CopyTransponderData(const cChannel *Channel);
|
||||||
bool SetTransponderData(int Source, int Frequency, int Srate, const char *Parameters, bool Quiet = false);
|
bool SetTransponderData(int Source, int Frequency, int Srate, const char *Parameters, bool Quiet = false);
|
||||||
void SetId(int Nid, int Tid, int Sid, int Rid = 0);
|
void SetId(int Nid, int Tid, int Sid, int Rid = 0);
|
||||||
|
void SetLcn(int Lcn);
|
||||||
void SetName(const char *Name, const char *ShortName, const char *Provider);
|
void SetName(const char *Name, const char *ShortName, const char *Provider);
|
||||||
void SetPortalName(const char *PortalName);
|
void SetPortalName(const char *PortalName);
|
||||||
void SetPids(int Vpid, int Ppid, int Vtype, int *Apids, int *Atypes, char ALangs[][MAXLANGCODE2], int *Dpids, int *Dtypes, char DLangs[][MAXLANGCODE2], int *Spids, char SLangs[][MAXLANGCODE2], int Tpid);
|
void SetPids(int Vpid, int Ppid, int Vtype, int *Apids, int *Atypes, char ALangs[][MAXLANGCODE2], int *Dpids, int *Dtypes, char DLangs[][MAXLANGCODE2], int *Spids, char SLangs[][MAXLANGCODE2], int Tpid);
|
||||||
|
90
ci.c
90
ci.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: ci.c 3.17 2015/01/15 09:14:57 kls Exp $
|
* $Id: ci.c 3.18 2015/01/30 12:24:53 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ci.h"
|
#include "ci.h"
|
||||||
@ -22,6 +22,7 @@
|
|||||||
#include "receiver.h"
|
#include "receiver.h"
|
||||||
#include "remux.h"
|
#include "remux.h"
|
||||||
#include "libsi/si.h"
|
#include "libsi/si.h"
|
||||||
|
#include "skins.h"
|
||||||
#include "tools.h"
|
#include "tools.h"
|
||||||
|
|
||||||
// Set these to 'true' for debug output:
|
// Set these to 'true' for debug output:
|
||||||
@ -236,6 +237,53 @@ void cCaPidReceiver::Receive(uchar *Data, int Length)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// --- cCaActivationReceiver -------------------------------------------------
|
||||||
|
|
||||||
|
// A receiver that is used to make the device stay on a given channel and
|
||||||
|
// keep the CAM slot assigned.
|
||||||
|
|
||||||
|
#define UNSCRAMBLE_TIME 5 // seconds of receiving purely unscrambled data before considering the smart card "activated"
|
||||||
|
#define TS_PACKET_FACTOR 1024 // only process every TS_PACKET_FACTORth packet to keep the load down
|
||||||
|
|
||||||
|
class cCaActivationReceiver : public cReceiver {
|
||||||
|
private:
|
||||||
|
cCamSlot *camSlot;
|
||||||
|
time_t lastScrambledTime;
|
||||||
|
int numTsPackets;
|
||||||
|
protected:
|
||||||
|
virtual void Receive(uchar *Data, int Length);
|
||||||
|
public:
|
||||||
|
cCaActivationReceiver(const cChannel *Channel, cCamSlot *CamSlot);
|
||||||
|
virtual ~cCaActivationReceiver();
|
||||||
|
};
|
||||||
|
|
||||||
|
cCaActivationReceiver::cCaActivationReceiver(const cChannel *Channel, cCamSlot *CamSlot)
|
||||||
|
:cReceiver(Channel, MINPRIORITY + 1)
|
||||||
|
{
|
||||||
|
camSlot = CamSlot;
|
||||||
|
lastScrambledTime = time(NULL);
|
||||||
|
numTsPackets = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
cCaActivationReceiver::~cCaActivationReceiver()
|
||||||
|
{
|
||||||
|
Detach();
|
||||||
|
}
|
||||||
|
|
||||||
|
void cCaActivationReceiver::Receive(uchar *Data, int Length)
|
||||||
|
{
|
||||||
|
if (numTsPackets++ % TS_PACKET_FACTOR == 0) {
|
||||||
|
time_t Now = time(NULL);
|
||||||
|
if (TsIsScrambled(Data))
|
||||||
|
lastScrambledTime = Now;
|
||||||
|
else if (Now - lastScrambledTime > UNSCRAMBLE_TIME) {
|
||||||
|
dsyslog("CAM %d: activated!", camSlot->SlotNumber());
|
||||||
|
Skins.QueueMessage(mtInfo, tr("CAM activated!"));
|
||||||
|
Detach();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// --- cTPDU -----------------------------------------------------------------
|
// --- cTPDU -----------------------------------------------------------------
|
||||||
|
|
||||||
#define MAX_TPDU_SIZE 2048
|
#define MAX_TPDU_SIZE 2048
|
||||||
@ -1696,6 +1744,7 @@ cCamSlot::cCamSlot(cCiAdapter *CiAdapter, bool ReceiveCaPids)
|
|||||||
ciAdapter = CiAdapter;
|
ciAdapter = CiAdapter;
|
||||||
assignedDevice = NULL;
|
assignedDevice = NULL;
|
||||||
caPidReceiver = ReceiveCaPids ? new cCaPidReceiver : NULL;
|
caPidReceiver = ReceiveCaPids ? new cCaPidReceiver : NULL;
|
||||||
|
caActivationReceiver = NULL;
|
||||||
slotIndex = -1;
|
slotIndex = -1;
|
||||||
lastModuleStatus = msReset; // avoids initial reset log message
|
lastModuleStatus = msReset; // avoids initial reset log message
|
||||||
resetTime = 0;
|
resetTime = 0;
|
||||||
@ -1715,6 +1764,7 @@ cCamSlot::~cCamSlot()
|
|||||||
if (assignedDevice)
|
if (assignedDevice)
|
||||||
assignedDevice->SetCamSlot(NULL);
|
assignedDevice->SetCamSlot(NULL);
|
||||||
delete caPidReceiver;
|
delete caPidReceiver;
|
||||||
|
delete caActivationReceiver;
|
||||||
CamSlots.Del(this, false);
|
CamSlots.Del(this, false);
|
||||||
DeleteAllConnections();
|
DeleteAllConnections();
|
||||||
}
|
}
|
||||||
@ -1735,8 +1785,10 @@ bool cCamSlot::Assign(cDevice *Device, bool Query)
|
|||||||
Device->SetCamSlot(this);
|
Device->SetCamSlot(this);
|
||||||
dsyslog("CAM %d: assigned to device %d", slotNumber, Device->DeviceNumber() + 1);
|
dsyslog("CAM %d: assigned to device %d", slotNumber, Device->DeviceNumber() + 1);
|
||||||
}
|
}
|
||||||
else
|
else {
|
||||||
|
CancelActivation();
|
||||||
dsyslog("CAM %d: unassigned", slotNumber);
|
dsyslog("CAM %d: unassigned", slotNumber);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return false;
|
return false;
|
||||||
@ -1772,6 +1824,8 @@ void cCamSlot::DeleteAllConnections(void)
|
|||||||
void cCamSlot::Process(cTPDU *TPDU)
|
void cCamSlot::Process(cTPDU *TPDU)
|
||||||
{
|
{
|
||||||
cMutexLock MutexLock(&mutex);
|
cMutexLock MutexLock(&mutex);
|
||||||
|
if (caActivationReceiver && !caActivationReceiver->IsAttached())
|
||||||
|
CancelActivation();
|
||||||
if (TPDU) {
|
if (TPDU) {
|
||||||
int n = TPDU->Tcid();
|
int n = TPDU->Tcid();
|
||||||
if (1 <= n && n <= MAX_CONNECTIONS_PER_CAM_SLOT) {
|
if (1 <= n && n <= MAX_CONNECTIONS_PER_CAM_SLOT) {
|
||||||
@ -1795,6 +1849,7 @@ void cCamSlot::Process(cTPDU *TPDU)
|
|||||||
dbgprotocol("Slot %d: no module present\n", slotNumber);
|
dbgprotocol("Slot %d: no module present\n", slotNumber);
|
||||||
isyslog("CAM %d: no module present", slotNumber);
|
isyslog("CAM %d: no module present", slotNumber);
|
||||||
DeleteAllConnections();
|
DeleteAllConnections();
|
||||||
|
CancelActivation();
|
||||||
break;
|
break;
|
||||||
case msReset:
|
case msReset:
|
||||||
dbgprotocol("Slot %d: module reset\n", slotNumber);
|
dbgprotocol("Slot %d: module reset\n", slotNumber);
|
||||||
@ -1856,6 +1911,37 @@ bool cCamSlot::Reset(void)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool cCamSlot::CanActivate(void)
|
||||||
|
{
|
||||||
|
return ModuleStatus() == msReady;
|
||||||
|
}
|
||||||
|
|
||||||
|
void cCamSlot::StartActivation(void)
|
||||||
|
{
|
||||||
|
cMutexLock MutexLock(&mutex);
|
||||||
|
if (!caActivationReceiver) {
|
||||||
|
if (cDevice *d = Device()) {
|
||||||
|
if (cChannel *Channel = Channels.GetByNumber(cDevice::CurrentChannel())) {
|
||||||
|
caActivationReceiver = new cCaActivationReceiver(Channel, this);
|
||||||
|
d->AttachReceiver(caActivationReceiver);
|
||||||
|
dsyslog("CAM %d: activating on device %d with channel %d (%s)", SlotNumber(), d->DeviceNumber() + 1, Channel->Number(), Channel->Name());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void cCamSlot::CancelActivation(void)
|
||||||
|
{
|
||||||
|
cMutexLock MutexLock(&mutex);
|
||||||
|
delete caActivationReceiver;
|
||||||
|
caActivationReceiver = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool cCamSlot::IsActivating(void)
|
||||||
|
{
|
||||||
|
return caActivationReceiver;
|
||||||
|
}
|
||||||
|
|
||||||
eModuleStatus cCamSlot::ModuleStatus(void)
|
eModuleStatus cCamSlot::ModuleStatus(void)
|
||||||
{
|
{
|
||||||
cMutexLock MutexLock(&mutex);
|
cMutexLock MutexLock(&mutex);
|
||||||
|
23
ci.h
23
ci.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: ci.h 3.9 2015/01/15 09:18:09 kls Exp $
|
* $Id: ci.h 3.11 2015/01/31 14:36:41 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __CI_H
|
#ifndef __CI_H
|
||||||
@ -123,6 +123,7 @@ class cCiTransportConnection;
|
|||||||
class cCiSession;
|
class cCiSession;
|
||||||
class cCiCaProgramData;
|
class cCiCaProgramData;
|
||||||
class cCaPidReceiver;
|
class cCaPidReceiver;
|
||||||
|
class cCaActivationReceiver;
|
||||||
|
|
||||||
class cCamSlot : public cListObject {
|
class cCamSlot : public cListObject {
|
||||||
friend class cCiAdapter;
|
friend class cCiAdapter;
|
||||||
@ -133,6 +134,7 @@ private:
|
|||||||
cCiAdapter *ciAdapter;
|
cCiAdapter *ciAdapter;
|
||||||
cDevice *assignedDevice;
|
cDevice *assignedDevice;
|
||||||
cCaPidReceiver *caPidReceiver;
|
cCaPidReceiver *caPidReceiver;
|
||||||
|
cCaActivationReceiver *caActivationReceiver;
|
||||||
int slotIndex;
|
int slotIndex;
|
||||||
int slotNumber;
|
int slotNumber;
|
||||||
cCiTransportConnection *tc[MAX_CONNECTIONS_PER_CAM_SLOT + 1]; // connection numbering starts with 1
|
cCiTransportConnection *tc[MAX_CONNECTIONS_PER_CAM_SLOT + 1]; // connection numbering starts with 1
|
||||||
@ -182,6 +184,23 @@ public:
|
|||||||
virtual bool Reset(void);
|
virtual bool Reset(void);
|
||||||
///< Resets the CAM in this slot.
|
///< Resets the CAM in this slot.
|
||||||
///< Returns true if the operation was successful.
|
///< Returns true if the operation was successful.
|
||||||
|
virtual bool CanActivate(void);
|
||||||
|
///< Returns true if there is a CAM in this slot that can be put into
|
||||||
|
///< activation mode.
|
||||||
|
virtual void StartActivation(void);
|
||||||
|
///< Puts the CAM in this slot into a mode where an inserted smart card
|
||||||
|
///< can be activated. The default action is to make IsActivating() return
|
||||||
|
///< true, which causes the device this CAM slot is attached to to never
|
||||||
|
///< automatically detach any receivers with negative priority if the
|
||||||
|
///< PIDs they want to receive are not decrypted by the CAM.
|
||||||
|
///< StartActivation() must be called *after* the CAM slot has been assigned
|
||||||
|
///< to a device. The CAM slot will stay in activation mode until the CAM
|
||||||
|
///< begins to decrypt, a call to CancelActivation() is made, or the device
|
||||||
|
///< is needed for a recording.
|
||||||
|
virtual void CancelActivation(void);
|
||||||
|
///< Cancels a previously started activation (if any).
|
||||||
|
virtual bool IsActivating(void);
|
||||||
|
///< Returns true if this CAM slot is currently activating a smart card.
|
||||||
virtual eModuleStatus ModuleStatus(void);
|
virtual eModuleStatus ModuleStatus(void);
|
||||||
///< Returns the status of the CAM in this slot.
|
///< Returns the status of the CAM in this slot.
|
||||||
virtual const char *GetCamName(void);
|
virtual const char *GetCamName(void);
|
||||||
@ -201,7 +220,7 @@ public:
|
|||||||
virtual cCiEnquiry *GetEnquiry(void);
|
virtual cCiEnquiry *GetEnquiry(void);
|
||||||
///< Gets a pending enquiry, or NULL if there is no enquiry.
|
///< Gets a pending enquiry, or NULL if there is no enquiry.
|
||||||
int Priority(void);
|
int Priority(void);
|
||||||
///< Returns the priority if the device this slot is currently assigned
|
///< Returns the priority of the device this slot is currently assigned
|
||||||
///< to, or IDLEPRIORITY if it is not assigned to any device.
|
///< to, or IDLEPRIORITY if it is not assigned to any device.
|
||||||
virtual bool ProvidesCa(const int *CaSystemIds);
|
virtual bool ProvidesCa(const int *CaSystemIds);
|
||||||
///< Returns true if the CAM in this slot provides one of the given
|
///< Returns true if the CAM in this slot provides one of the given
|
||||||
|
17
config.c
17
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 3.3 2015/01/12 14:32:17 kls Exp $
|
* $Id: config.c 3.6 2015/01/29 09:01:30 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
@ -470,6 +470,11 @@ cSetup::cSetup(void)
|
|||||||
ShowRemainingTime = 0;
|
ShowRemainingTime = 0;
|
||||||
ProgressDisplayTime = 0;
|
ProgressDisplayTime = 0;
|
||||||
PauseOnMarkSet = 0;
|
PauseOnMarkSet = 0;
|
||||||
|
PauseOnMarkJump = 1;
|
||||||
|
SkipEdited = 0;
|
||||||
|
PauseAtLastMark = 0;
|
||||||
|
BinarySkipInitial = 120;
|
||||||
|
BinarySkipTimeout = 3;
|
||||||
ResumeID = 0;
|
ResumeID = 0;
|
||||||
CurrentChannel = -1;
|
CurrentChannel = -1;
|
||||||
CurrentVolume = MAXVOLUME;
|
CurrentVolume = MAXVOLUME;
|
||||||
@ -683,6 +688,11 @@ bool cSetup::Parse(const char *Name, const char *Value)
|
|||||||
else if (!strcasecmp(Name, "ShowRemainingTime")) ShowRemainingTime = atoi(Value);
|
else if (!strcasecmp(Name, "ShowRemainingTime")) ShowRemainingTime = atoi(Value);
|
||||||
else if (!strcasecmp(Name, "ProgressDisplayTime")) ProgressDisplayTime= atoi(Value);
|
else if (!strcasecmp(Name, "ProgressDisplayTime")) ProgressDisplayTime= atoi(Value);
|
||||||
else if (!strcasecmp(Name, "PauseOnMarkSet")) PauseOnMarkSet = atoi(Value);
|
else if (!strcasecmp(Name, "PauseOnMarkSet")) PauseOnMarkSet = atoi(Value);
|
||||||
|
else if (!strcasecmp(Name, "PauseOnMarkJump")) PauseOnMarkJump = atoi(Value);
|
||||||
|
else if (!strcasecmp(Name, "SkipEdited")) SkipEdited = atoi(Value);
|
||||||
|
else if (!strcasecmp(Name, "PauseAtLastMark")) PauseAtLastMark = atoi(Value);
|
||||||
|
else if (!strcasecmp(Name, "BinarySkipInitial")) BinarySkipInitial = atoi(Value);
|
||||||
|
else if (!strcasecmp(Name, "BinarySkipTimeout")) BinarySkipTimeout = atoi(Value);
|
||||||
else if (!strcasecmp(Name, "ResumeID")) ResumeID = atoi(Value);
|
else if (!strcasecmp(Name, "ResumeID")) ResumeID = atoi(Value);
|
||||||
else if (!strcasecmp(Name, "CurrentChannel")) CurrentChannel = atoi(Value);
|
else if (!strcasecmp(Name, "CurrentChannel")) CurrentChannel = atoi(Value);
|
||||||
else if (!strcasecmp(Name, "CurrentVolume")) CurrentVolume = atoi(Value);
|
else if (!strcasecmp(Name, "CurrentVolume")) CurrentVolume = atoi(Value);
|
||||||
@ -800,6 +810,11 @@ bool cSetup::Save(void)
|
|||||||
Store("ShowRemainingTime", ShowRemainingTime);
|
Store("ShowRemainingTime", ShowRemainingTime);
|
||||||
Store("ProgressDisplayTime",ProgressDisplayTime);
|
Store("ProgressDisplayTime",ProgressDisplayTime);
|
||||||
Store("PauseOnMarkSet", PauseOnMarkSet);
|
Store("PauseOnMarkSet", PauseOnMarkSet);
|
||||||
|
Store("PauseOnMarkJump", PauseOnMarkJump);
|
||||||
|
Store("SkipEdited", SkipEdited);
|
||||||
|
Store("PauseAtLastMark", PauseAtLastMark);
|
||||||
|
Store("BinarySkipInitial", BinarySkipInitial);
|
||||||
|
Store("BinarySkipTimeout", BinarySkipTimeout);
|
||||||
Store("ResumeID", ResumeID);
|
Store("ResumeID", ResumeID);
|
||||||
Store("CurrentChannel", CurrentChannel);
|
Store("CurrentChannel", CurrentChannel);
|
||||||
Store("CurrentVolume", CurrentVolume);
|
Store("CurrentVolume", CurrentVolume);
|
||||||
|
15
config.h
15
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 3.10 2015/01/12 14:32:17 kls Exp $
|
* $Id: config.h 3.13 2015/01/27 10:50:11 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __CONFIG_H
|
#ifndef __CONFIG_H
|
||||||
@ -22,13 +22,13 @@
|
|||||||
|
|
||||||
// VDR's own version number:
|
// VDR's own version number:
|
||||||
|
|
||||||
#define VDRVERSION "2.1.7"
|
#define VDRVERSION "2.1.8"
|
||||||
#define VDRVERSNUM 20107 // Version * 10000 + Major * 100 + Minor
|
#define VDRVERSNUM 20108 // Version * 10000 + Major * 100 + Minor
|
||||||
|
|
||||||
// The plugin API's version number:
|
// The plugin API's version number:
|
||||||
|
|
||||||
#define APIVERSION "2.1.7"
|
#define APIVERSION "2.1.8"
|
||||||
#define APIVERSNUM 20107 // Version * 10000 + Major * 100 + Minor
|
#define APIVERSNUM 20108 // 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
|
||||||
@ -333,6 +333,11 @@ public:
|
|||||||
int ShowRemainingTime;
|
int ShowRemainingTime;
|
||||||
int ProgressDisplayTime;
|
int ProgressDisplayTime;
|
||||||
int PauseOnMarkSet;
|
int PauseOnMarkSet;
|
||||||
|
int PauseOnMarkJump;
|
||||||
|
int SkipEdited;
|
||||||
|
int PauseAtLastMark;
|
||||||
|
int BinarySkipInitial;
|
||||||
|
int BinarySkipTimeout;
|
||||||
int ResumeID;
|
int ResumeID;
|
||||||
int CurrentChannel;
|
int CurrentChannel;
|
||||||
int CurrentVolume;
|
int CurrentVolume;
|
||||||
|
16
device.c
16
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 3.19 2015/01/14 12:02:44 kls Exp $
|
* $Id: device.c 3.20 2015/01/30 12:11:30 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "device.h"
|
#include "device.h"
|
||||||
@ -756,7 +756,7 @@ eSetChannelResult cDevice::SetChannel(const cChannel *Channel, bool LiveView)
|
|||||||
|
|
||||||
cDevice *Device = (LiveView && IsPrimaryDevice()) ? GetDevice(Channel, LIVEPRIORITY, true) : this;
|
cDevice *Device = (LiveView && IsPrimaryDevice()) ? GetDevice(Channel, LIVEPRIORITY, true) : this;
|
||||||
|
|
||||||
bool NeedsTransferMode = Device != this;
|
bool NeedsTransferMode = LiveView && Device != PrimaryDevice();
|
||||||
// If the CAM slot wants the TS data, we need to switch to Transfer Mode:
|
// If the CAM slot wants the TS data, we need to switch to Transfer Mode:
|
||||||
if (!NeedsTransferMode && LiveView && IsPrimaryDevice() && CamSlot() && CamSlot()->WantsTsData())
|
if (!NeedsTransferMode && LiveView && IsPrimaryDevice() && CamSlot() && CamSlot()->WantsTsData())
|
||||||
NeedsTransferMode = true;
|
NeedsTransferMode = true;
|
||||||
@ -767,7 +767,7 @@ eSetChannelResult cDevice::SetChannel(const cChannel *Channel, bool LiveView)
|
|||||||
// use the card that actually can receive it and transfer data from there:
|
// use the card that actually can receive it and transfer data from there:
|
||||||
|
|
||||||
if (NeedsTransferMode) {
|
if (NeedsTransferMode) {
|
||||||
if (Device && CanReplay()) {
|
if (Device && PrimaryDevice()->CanReplay()) {
|
||||||
if (Device->SetChannel(Channel, false) == scrOk) // calling SetChannel() directly, not SwitchChannel()!
|
if (Device->SetChannel(Channel, false) == scrOk) // calling SetChannel() directly, not SwitchChannel()!
|
||||||
cControl::Launch(new cTransferControl(Device, Channel));
|
cControl::Launch(new cTransferControl(Device, Channel));
|
||||||
else
|
else
|
||||||
@ -1585,13 +1585,13 @@ void cDevice::Action(void)
|
|||||||
bool DetachReceivers = false;
|
bool DetachReceivers = false;
|
||||||
bool DescramblingOk = false;
|
bool DescramblingOk = false;
|
||||||
int CamSlotNumber = 0;
|
int CamSlotNumber = 0;
|
||||||
|
cCamSlot *cs = NULL;
|
||||||
if (startScrambleDetection) {
|
if (startScrambleDetection) {
|
||||||
cCamSlot *cs = CamSlot();
|
cs = CamSlot();
|
||||||
CamSlotNumber = cs ? cs->SlotNumber() : 0;
|
CamSlotNumber = cs ? cs->SlotNumber() : 0;
|
||||||
if (CamSlotNumber) {
|
if (CamSlotNumber) {
|
||||||
bool Scrambled = b[3] & TS_SCRAMBLING_CONTROL;
|
|
||||||
int t = time(NULL) - startScrambleDetection;
|
int t = time(NULL) - startScrambleDetection;
|
||||||
if (Scrambled) {
|
if (TsIsScrambled(b)) {
|
||||||
if (t > TS_SCRAMBLING_TIMEOUT)
|
if (t > TS_SCRAMBLING_TIMEOUT)
|
||||||
DetachReceivers = true;
|
DetachReceivers = true;
|
||||||
}
|
}
|
||||||
@ -1605,7 +1605,7 @@ void cDevice::Action(void)
|
|||||||
Lock();
|
Lock();
|
||||||
for (int i = 0; i < MAXRECEIVERS; i++) {
|
for (int i = 0; i < MAXRECEIVERS; i++) {
|
||||||
if (receiver[i] && receiver[i]->WantsPid(Pid)) {
|
if (receiver[i] && receiver[i]->WantsPid(Pid)) {
|
||||||
if (DetachReceivers) {
|
if (DetachReceivers && cs && (!cs->IsActivating() || receiver[i]->Priority() >= LIVEPRIORITY)) {
|
||||||
dsyslog("detaching receiver - won't decrypt channel %s with CAM %d", *receiver[i]->ChannelID().ToString(), CamSlotNumber);
|
dsyslog("detaching receiver - won't decrypt channel %s with CAM %d", *receiver[i]->ChannelID().ToString(), CamSlotNumber);
|
||||||
ChannelCamRelations.SetChecked(receiver[i]->ChannelID(), CamSlotNumber);
|
ChannelCamRelations.SetChecked(receiver[i]->ChannelID(), CamSlotNumber);
|
||||||
Detach(receiver[i]);
|
Detach(receiver[i]);
|
||||||
@ -1704,7 +1704,7 @@ void cDevice::Detach(cReceiver *Receiver)
|
|||||||
if (camSlot) {
|
if (camSlot) {
|
||||||
if (Receiver->priority > MINPRIORITY) { // priority check to avoid an infinite loop with the CAM slot's caPidReceiver
|
if (Receiver->priority > MINPRIORITY) { // priority check to avoid an infinite loop with the CAM slot's caPidReceiver
|
||||||
camSlot->StartDecrypting();
|
camSlot->StartDecrypting();
|
||||||
if (!camSlot->IsDecrypting())
|
if (!camSlot->IsDecrypting() && !camSlot->IsActivating())
|
||||||
camSlot->Assign(NULL);
|
camSlot->Assign(NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
58
diseqc.c
58
diseqc.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: diseqc.c 3.3 2013/12/28 11:33:08 kls Exp $
|
* $Id: diseqc.c 3.4 2015/01/26 12:02:14 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "diseqc.h"
|
#include "diseqc.h"
|
||||||
@ -164,7 +164,7 @@ bool cScr::Parse(const char *s)
|
|||||||
bool result = false;
|
bool result = false;
|
||||||
int fields = sscanf(s, "%d %u %d", &channel, &userBand, &pin);
|
int fields = sscanf(s, "%d %u %d", &channel, &userBand, &pin);
|
||||||
if (fields == 2 || fields == 3) {
|
if (fields == 2 || fields == 3) {
|
||||||
if (channel >= 0 && channel < 8) {
|
if (channel >= 0 && channel < 32) {
|
||||||
result = true;
|
result = true;
|
||||||
if (fields == 3 && (pin < 0 || pin > 255)) {
|
if (fields == 3 && (pin < 0 || pin > 255)) {
|
||||||
esyslog("Error: invalid SCR pin '%d'", pin);
|
esyslog("Error: invalid SCR pin '%d'", pin);
|
||||||
@ -255,26 +255,52 @@ bool cDiseqc::Parse(const char *s)
|
|||||||
|
|
||||||
uint cDiseqc::SetScrFrequency(uint SatFrequency, const cScr *Scr, uint8_t *Codes) const
|
uint cDiseqc::SetScrFrequency(uint SatFrequency, const cScr *Scr, uint8_t *Codes) const
|
||||||
{
|
{
|
||||||
uint t = SatFrequency == 0 ? 0 : (SatFrequency + Scr->UserBand() + 2) / 4 - 350; // '+ 2' together with '/ 4' results in rounding!
|
if ((Codes[0] & 0xF0) == 0x70 ) { // EN50607 aka JESS
|
||||||
if (t < 1024 && Scr->Channel() >= 0 && Scr->Channel() < 8) {
|
uint t = SatFrequency == 0 ? 0 : (SatFrequency - 100);
|
||||||
Codes[3] = t >> 8 | (t == 0 ? 0 : scrBank << 2) | Scr->Channel() << 5;
|
if (t < 2048 && Scr->Channel() >= 0 && Scr->Channel() < 32) {
|
||||||
Codes[4] = t;
|
Codes[1] = t >> 8 | Scr->Channel() << 3;
|
||||||
if (t)
|
Codes[2] = t;
|
||||||
return (t + 350) * 4 - SatFrequency;
|
Codes[3] = (t == 0 ? 0 : scrBank);
|
||||||
|
if (t)
|
||||||
|
return Scr->UserBand();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
else { // EN50494 aka Unicable
|
||||||
|
uint t = SatFrequency == 0 ? 0 : (SatFrequency + Scr->UserBand() + 2) / 4 - 350; // '+ 2' together with '/ 4' results in rounding!
|
||||||
|
if (t < 1024 && Scr->Channel() >= 0 && Scr->Channel() < 8) {
|
||||||
|
Codes[3] = t >> 8 | (t == 0 ? 0 : scrBank << 2) | Scr->Channel() << 5;
|
||||||
|
Codes[4] = t;
|
||||||
|
if (t)
|
||||||
|
return (t + 350) * 4 - SatFrequency;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
esyslog("ERROR: invalid SCR channel number %d or frequency %d", Scr->Channel(),SatFrequency);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cDiseqc::SetScrPin(const cScr *Scr, uint8_t *Codes) const
|
int cDiseqc::SetScrPin(const cScr *Scr, uint8_t *Codes) const
|
||||||
{
|
{
|
||||||
if (Scr->Pin() >= 0 && Scr->Pin() <= 255) {
|
if ((Codes[0] & 0xF0) == 0x70 ) { // EN50607 aka JESS
|
||||||
Codes[2] = 0x5C;
|
if (Scr->Pin() >= 0 && Scr->Pin() <= 255) {
|
||||||
Codes[5] = Scr->Pin();
|
Codes[0] = 0x71;
|
||||||
return 6;
|
Codes[4] = Scr->Pin();
|
||||||
|
return 5;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Codes[0] = 0x70;
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else { // EN50494 aka Unicable
|
||||||
Codes[2] = 0x5A;
|
if (Scr->Pin() >= 0 && Scr->Pin() <= 255) {
|
||||||
return 5;
|
Codes[2] = 0x5C;
|
||||||
|
Codes[5] = Scr->Pin();
|
||||||
|
return 6;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Codes[2] = 0x5A;
|
||||||
|
return 5;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -319,7 +345,7 @@ const char *cDiseqc::GetScrBank(const char *s) const
|
|||||||
char *p = NULL;
|
char *p = NULL;
|
||||||
errno = 0;
|
errno = 0;
|
||||||
int n = strtol(s, &p, 10);
|
int n = strtol(s, &p, 10);
|
||||||
if (!errno && p != s && n >= 0 && n < 8) {
|
if (!errno && p != s && n >= 0 && n < 256) {
|
||||||
if (parsing) {
|
if (parsing) {
|
||||||
if (scrBank < 0)
|
if (scrBank < 0)
|
||||||
scrBank = n;
|
scrBank = n;
|
||||||
|
24
diseqc.conf
24
diseqc.conf
@ -82,7 +82,7 @@ S13.0E 99999 H 10600 t V W15 [E0 10 38 F7] W15 B W15 T
|
|||||||
# S19.2E 12110 V 11080 t v
|
# S19.2E 12110 V 11080 t v
|
||||||
# S19.2E 99999 V 10720 t v
|
# S19.2E 99999 V 10720 t v
|
||||||
#
|
#
|
||||||
# SCR (Satellite Channel Routing):
|
# SCR (Satellite Channel Routing) EN50494:
|
||||||
#
|
#
|
||||||
# S19.2E 11700 V 9750 t V W10 S0 [E0 10 5A 00 00] W10 v
|
# S19.2E 11700 V 9750 t V W10 S0 [E0 10 5A 00 00] W10 v
|
||||||
# S19.2E 99999 V 10600 t V W10 S1 [E0 10 5A 00 00] W10 v
|
# S19.2E 99999 V 10600 t V W10 S1 [E0 10 5A 00 00] W10 v
|
||||||
@ -94,6 +94,28 @@ S13.0E 99999 H 10600 t V W15 [E0 10 38 F7] W15 B W15 T
|
|||||||
# S13.0E 11700 H 9750 t V W10 S6 [E0 10 5A 00 00] W10 v
|
# S13.0E 11700 H 9750 t V W10 S6 [E0 10 5A 00 00] W10 v
|
||||||
# S13.0E 99999 H 10600 t V W10 S7 [E0 10 5A 00 00] W10 v
|
# S13.0E 99999 H 10600 t V W10 S7 [E0 10 5A 00 00] W10 v
|
||||||
#
|
#
|
||||||
|
# SCR (Satellite Channel Routing) EN50607 "JESS":
|
||||||
|
#
|
||||||
|
# S19.2E 11700 V 9750 t V W10 S0 [70 00 00 00] W10 v
|
||||||
|
# S19.2E 99999 V 10600 t V W10 S1 [70 00 00 00] W10 v
|
||||||
|
# S19.2E 11700 H 9750 t V W10 S2 [70 00 00 00] W10 v
|
||||||
|
# S19.2E 99999 H 10600 t V W10 S3 [70 00 00 00] W10 v
|
||||||
|
#
|
||||||
|
# S13.0E 11700 V 9750 t V W10 S4 [70 00 00 00] W10 v
|
||||||
|
# S13.0E 99999 V 10600 t V W10 S5 [70 00 00 00] W10 v
|
||||||
|
# S13.0E 11700 H 9750 t V W10 S6 [70 00 00 00] W10 v
|
||||||
|
# S13.0E 99999 H 10600 t V W10 S7 [70 00 00 00] W10 v
|
||||||
|
#
|
||||||
|
# S23.0E 11700 V 9750 t V W10 S8 [70 00 00 00] W10 v
|
||||||
|
# S23.0E 99999 V 10600 t V W10 S9 [70 00 00 00] W10 v
|
||||||
|
# S23.0E 11700 H 9750 t V W10 S10 [70 00 00 00] W10 v
|
||||||
|
# S23.0E 99999 H 10600 t V W10 S11 [70 00 00 00] W10 v
|
||||||
|
#
|
||||||
|
# S28.2E 11700 V 9750 t V W10 S12 [70 00 00 00] W10 v
|
||||||
|
# S28.2E 99999 V 10600 t V W10 S13 [70 00 00 00] W10 v
|
||||||
|
# S28.2E 11700 H 9750 t V W10 S14 [70 00 00 00] W10 v
|
||||||
|
# S28.2E 99999 H 10600 t V W10 S15 [70 00 00 00] W10 v
|
||||||
|
#
|
||||||
# Positioner for steerable dish:
|
# Positioner for steerable dish:
|
||||||
#
|
#
|
||||||
# S360E 11700 V 9750 t V W20 P W20 t v
|
# S360E 11700 V 9750 t V W20 P W20 t v
|
||||||
|
90
dvbplayer.c
90
dvbplayer.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: dvbplayer.c 3.1 2013/12/25 13:24:07 kls Exp $
|
* $Id: dvbplayer.c 3.3 2015/02/01 10:45:41 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "dvbplayer.h"
|
#include "dvbplayer.h"
|
||||||
@ -211,6 +211,7 @@ private:
|
|||||||
cNonBlockingFileReader *nonBlockingFileReader;
|
cNonBlockingFileReader *nonBlockingFileReader;
|
||||||
cRingBufferFrame *ringBuffer;
|
cRingBufferFrame *ringBuffer;
|
||||||
cPtsIndex ptsIndex;
|
cPtsIndex ptsIndex;
|
||||||
|
cMarks marks;
|
||||||
cFileName *fileName;
|
cFileName *fileName;
|
||||||
cIndexFile *index;
|
cIndexFile *index;
|
||||||
cUnbufferedFile *replayFile;
|
cUnbufferedFile *replayFile;
|
||||||
@ -296,6 +297,8 @@ cDvbPlayer::cDvbPlayer(const char *FileName, bool PauseLive)
|
|||||||
}
|
}
|
||||||
else if (PauseLive)
|
else if (PauseLive)
|
||||||
framesPerSecond = cRecording(FileName).FramesPerSecond(); // the fps rate might have changed from the default
|
framesPerSecond = cRecording(FileName).FramesPerSecond(); // the fps rate might have changed from the default
|
||||||
|
if (Setup.SkipEdited || Setup.PauseAtLastMark)
|
||||||
|
marks.Load(FileName, framesPerSecond, isPesRecording);
|
||||||
}
|
}
|
||||||
|
|
||||||
cDvbPlayer::~cDvbPlayer()
|
cDvbPlayer::~cDvbPlayer()
|
||||||
@ -402,8 +405,19 @@ void cDvbPlayer::Action(void)
|
|||||||
int pc = 0;
|
int pc = 0;
|
||||||
|
|
||||||
readIndex = Resume();
|
readIndex = Resume();
|
||||||
if (readIndex >= 0)
|
if (readIndex > 0)
|
||||||
isyslog("resuming replay at index %d (%s)", readIndex, *IndexToHMSF(readIndex, true, framesPerSecond));
|
isyslog("resuming replay at index %d (%s)", readIndex, *IndexToHMSF(readIndex, true, framesPerSecond));
|
||||||
|
else if (Setup.SkipEdited) {
|
||||||
|
if (marks.First() && index) {
|
||||||
|
int Index = marks.First()->Position();
|
||||||
|
uint16_t FileNumber;
|
||||||
|
off_t FileOffset;
|
||||||
|
if (index->Get(Index, &FileNumber, &FileOffset) && NextFile(FileNumber, FileOffset)) {
|
||||||
|
isyslog("starting replay at first mark %d (%s)", Index, *IndexToHMSF(Index, true, framesPerSecond));
|
||||||
|
readIndex = Index;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
nonBlockingFileReader = new cNonBlockingFileReader;
|
nonBlockingFileReader = new cNonBlockingFileReader;
|
||||||
int Length = 0;
|
int Length = 0;
|
||||||
@ -413,6 +427,8 @@ void cDvbPlayer::Action(void)
|
|||||||
uint32_t LastStc = 0;
|
uint32_t LastStc = 0;
|
||||||
int LastReadIFrame = -1;
|
int LastReadIFrame = -1;
|
||||||
int SwitchToPlayFrame = 0;
|
int SwitchToPlayFrame = 0;
|
||||||
|
bool CutIn = false;
|
||||||
|
bool AtLastMark = false;
|
||||||
|
|
||||||
if (pauseLive)
|
if (pauseLive)
|
||||||
Goto(0, true);
|
Goto(0, true);
|
||||||
@ -431,7 +447,7 @@ void cDvbPlayer::Action(void)
|
|||||||
|
|
||||||
// Read the next frame from the file:
|
// Read the next frame from the file:
|
||||||
|
|
||||||
if (playMode != pmStill && playMode != pmPause) {
|
if (playMode != pmStill && playMode != pmPause && !AtLastMark) {
|
||||||
if (!readFrame && (replayFile || readIndex >= 0)) {
|
if (!readFrame && (replayFile || readIndex >= 0)) {
|
||||||
if (!nonBlockingFileReader->Reading()) {
|
if (!nonBlockingFileReader->Reading()) {
|
||||||
if (!SwitchToPlayFrame && (playMode == pmFast || (playMode == pmSlow && playDir == pdBackward))) {
|
if (!SwitchToPlayFrame && (playMode == pmFast || (playMode == pmSlow && playDir == pdBackward))) {
|
||||||
@ -468,8 +484,30 @@ void cDvbPlayer::Action(void)
|
|||||||
else if (index) {
|
else if (index) {
|
||||||
uint16_t FileNumber;
|
uint16_t FileNumber;
|
||||||
off_t FileOffset;
|
off_t FileOffset;
|
||||||
if (index->Get(readIndex + 1, &FileNumber, &FileOffset, &readIndependent, &Length) && NextFile(FileNumber, FileOffset))
|
if (index->Get(readIndex + 1, &FileNumber, &FileOffset, &readIndependent, &Length) && NextFile(FileNumber, FileOffset)) {
|
||||||
readIndex++;
|
readIndex++;
|
||||||
|
if (Setup.SkipEdited || Setup.PauseAtLastMark) {
|
||||||
|
marks.Update();
|
||||||
|
cMark *m = marks.Get(readIndex);
|
||||||
|
if (m && (m->Index() & 0x01) != 0) { // we're at an end mark
|
||||||
|
m = marks.GetNextBegin(m);
|
||||||
|
int Index = -1;
|
||||||
|
if (m)
|
||||||
|
Index = m->Position(); // skip to next begin mark
|
||||||
|
else if (Setup.PauseAtLastMark)
|
||||||
|
AtLastMark = true; // triggers going into Pause mode
|
||||||
|
else if (index->IsStillRecording())
|
||||||
|
Index = index->GetNextIFrame(index->Last() - int(round(MAXSTUCKATEOF * framesPerSecond)), false); // skip, but stay off end of live-recordings
|
||||||
|
else
|
||||||
|
AtLastMark = true; // triggers stopping replay
|
||||||
|
if (Setup.SkipEdited && Index > readIndex) {
|
||||||
|
isyslog("skipping from %d (%s) to %d (%s)", readIndex - 1, *IndexToHMSF(readIndex - 1, true, framesPerSecond), Index, *IndexToHMSF(Index, true, framesPerSecond));
|
||||||
|
readIndex = Index;
|
||||||
|
CutIn = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
eof = true;
|
eof = true;
|
||||||
}
|
}
|
||||||
@ -512,6 +550,11 @@ void cDvbPlayer::Action(void)
|
|||||||
// Store the frame in the buffer:
|
// Store the frame in the buffer:
|
||||||
|
|
||||||
if (readFrame) {
|
if (readFrame) {
|
||||||
|
if (CutIn) {
|
||||||
|
if (isPesRecording)
|
||||||
|
cRemux::SetBrokenLink(readFrame->Data(), readFrame->Count());
|
||||||
|
CutIn = false;
|
||||||
|
}
|
||||||
if (ringBuffer->Put(readFrame))
|
if (ringBuffer->Put(readFrame))
|
||||||
readFrame = NULL;
|
readFrame = NULL;
|
||||||
else
|
else
|
||||||
@ -578,8 +621,17 @@ void cDvbPlayer::Action(void)
|
|||||||
p = NULL;
|
p = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else {
|
||||||
|
if (AtLastMark) {
|
||||||
|
if (Setup.PauseAtLastMark) {
|
||||||
|
playMode = pmPause;
|
||||||
|
AtLastMark = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
eof = true;
|
||||||
|
}
|
||||||
Sleep = true;
|
Sleep = true;
|
||||||
|
}
|
||||||
|
|
||||||
// Handle hitting begin/end of recording:
|
// Handle hitting begin/end of recording:
|
||||||
|
|
||||||
@ -800,18 +852,26 @@ void cDvbPlayer::Goto(int Index, bool Still)
|
|||||||
off_t FileOffset;
|
off_t FileOffset;
|
||||||
int Length;
|
int Length;
|
||||||
Index = index->GetNextIFrame(Index, false, &FileNumber, &FileOffset, &Length);
|
Index = index->GetNextIFrame(Index, false, &FileNumber, &FileOffset, &Length);
|
||||||
if (Index >= 0 && NextFile(FileNumber, FileOffset) && Still) {
|
if (Index >= 0) {
|
||||||
uchar b[MAXFRAMESIZE];
|
if (Still) {
|
||||||
int r = ReadFrame(replayFile, b, Length, sizeof(b));
|
if (NextFile(FileNumber, FileOffset)) {
|
||||||
if (r > 0) {
|
uchar b[MAXFRAMESIZE];
|
||||||
if (playMode == pmPause)
|
int r = ReadFrame(replayFile, b, Length, sizeof(b));
|
||||||
DevicePlay();
|
if (r > 0) {
|
||||||
DeviceStillPicture(b, r);
|
if (playMode == pmPause)
|
||||||
ptsIndex.Put(isPesRecording ? PesGetPts(b) : TsGetPts(b, r), Index);
|
DevicePlay();
|
||||||
|
DeviceStillPicture(b, r);
|
||||||
|
ptsIndex.Put(isPesRecording ? PesGetPts(b) : TsGetPts(b, r), Index);
|
||||||
|
}
|
||||||
|
playMode = pmStill;
|
||||||
|
readIndex = Index;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
readIndex = Index - 1; // Action() will first increment it!
|
||||||
|
Play();
|
||||||
}
|
}
|
||||||
playMode = pmStill;
|
|
||||||
}
|
}
|
||||||
readIndex = Index;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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.h 3.0 2012/02/19 11:40:36 kls Exp $
|
* $Id: dvbplayer.h 3.1 2015/02/01 11:20:54 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __DVBPLAYER_H
|
#ifndef __DVBPLAYER_H
|
||||||
@ -56,7 +56,7 @@ public:
|
|||||||
// and >0 if this is multi speed mode.
|
// and >0 if this is multi speed mode.
|
||||||
void Goto(int Index, bool Still = false);
|
void Goto(int Index, bool Still = false);
|
||||||
// Positions to the given index and displays that frame as a still picture
|
// Positions to the given index and displays that frame as a still picture
|
||||||
// if Still is true.
|
// if Still is true. If Still is false, Play() will be called.
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //__DVBPLAYER_H
|
#endif //__DVBPLAYER_H
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
* Original author: Marco Schluessler <marco@lordzodiac.de>
|
* Original author: Marco Schluessler <marco@lordzodiac.de>
|
||||||
* With some input from the "subtitles plugin" by Pekka Virtanen <pekka.virtanen@sci.fi>
|
* With some input from the "subtitles plugin" by Pekka Virtanen <pekka.virtanen@sci.fi>
|
||||||
*
|
*
|
||||||
* $Id: dvbsubtitle.c 3.9 2015/01/14 11:31:09 kls Exp $
|
* $Id: dvbsubtitle.c 3.10 2015/01/20 14:53:57 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "dvbsubtitle.h"
|
#include "dvbsubtitle.h"
|
||||||
@ -1042,7 +1042,7 @@ void cDvbSubtitlePage::Parse(int64_t Pts, cBitStream &bs)
|
|||||||
default: dbgpages("unknown page state: %d<br>\n", pageState);
|
default: dbgpages("unknown page state: %d<br>\n", pageState);
|
||||||
}
|
}
|
||||||
bs.SkipBits(2); // reserved
|
bs.SkipBits(2); // reserved
|
||||||
dbgpages("<hr>\n<b>page</b> id %d version %d pts %"PRId64" timeout %d state %d<br>\n", pageId, pageVersionNumber, pts, pageTimeout, pageState);
|
dbgpages("<hr>\n<b>page</b> id %d version %d pts %" PRId64 " timeout %d state %d<br>\n", pageId, pageVersionNumber, pts, pageTimeout, pageState);
|
||||||
regionRefs.Clear();
|
regionRefs.Clear();
|
||||||
while (!bs.IsEOF())
|
while (!bs.IsEOF())
|
||||||
regionRefs.Add(new cSubtitleRegionRef(bs));
|
regionRefs.Add(new cSubtitleRegionRef(bs));
|
||||||
@ -1073,7 +1073,7 @@ void cDvbSubtitlePage::ParsePgs(int64_t Pts, cBitStream &bs)
|
|||||||
default: dbgpages("unknown page state: %d<br>\n", pageState);
|
default: dbgpages("unknown page state: %d<br>\n", pageState);
|
||||||
}
|
}
|
||||||
bs.SkipBits(6);
|
bs.SkipBits(6);
|
||||||
dbgpages("<hr>\n<b>page</b> id %d version %d pts %"PRId64" timeout %d state %d<br>\n", pageId, pageVersionNumber, pts, pageTimeout, pageState);
|
dbgpages("<hr>\n<b>page</b> id %d version %d pts %" PRId64 " timeout %d state %d<br>\n", pageId, pageVersionNumber, pts, pageTimeout, pageState);
|
||||||
regionRefs.Clear();
|
regionRefs.Clear();
|
||||||
pending = true;
|
pending = true;
|
||||||
}
|
}
|
||||||
@ -1384,7 +1384,7 @@ int cDvbSubtitleConverter::ConvertFragments(const uchar *Data, int Length)
|
|||||||
if (Length > PayloadOffset + SubstreamHeaderLength) {
|
if (Length > PayloadOffset + SubstreamHeaderLength) {
|
||||||
int64_t pts = PesHasPts(Data) ? PesGetPts(Data) : -1;
|
int64_t pts = PesHasPts(Data) ? PesGetPts(Data) : -1;
|
||||||
if (pts >= 0)
|
if (pts >= 0)
|
||||||
dbgconverter("converter PTS: %"PRId64"<br>\n", pts);
|
dbgconverter("converter PTS: %" PRId64 "<br>\n", pts);
|
||||||
const uchar *data = Data + PayloadOffset + SubstreamHeaderLength; // skip substream header
|
const uchar *data = Data + PayloadOffset + SubstreamHeaderLength; // skip substream header
|
||||||
int length = Length - PayloadOffset - SubstreamHeaderLength; // skip substream header
|
int length = Length - PayloadOffset - SubstreamHeaderLength; // skip substream header
|
||||||
if (ResetSubtitleAssembler)
|
if (ResetSubtitleAssembler)
|
||||||
@ -1420,7 +1420,7 @@ int cDvbSubtitleConverter::Convert(const uchar *Data, int Length)
|
|||||||
if (Length > PayloadOffset) {
|
if (Length > PayloadOffset) {
|
||||||
int64_t pts = PesHasPts(Data) ? PesGetPts(Data) : -1;
|
int64_t pts = PesHasPts(Data) ? PesGetPts(Data) : -1;
|
||||||
if (pts >= 0)
|
if (pts >= 0)
|
||||||
dbgconverter("converter PTS: %"PRId64"<br>\n", pts);
|
dbgconverter("converter PTS: %" PRId64 "<br>\n", pts);
|
||||||
const uchar *data = Data + PayloadOffset;
|
const uchar *data = Data + PayloadOffset;
|
||||||
int length = Length - PayloadOffset;
|
int length = Length - PayloadOffset;
|
||||||
if (length > 0) {
|
if (length > 0) {
|
||||||
@ -1488,7 +1488,7 @@ void cDvbSubtitleConverter::Action(void)
|
|||||||
dbgoutput("showing bitmap #%d of %d<br>\n", sb->Index() + 1, bitmaps->Count());
|
dbgoutput("showing bitmap #%d of %d<br>\n", sb->Index() + 1, bitmaps->Count());
|
||||||
sb->Draw(osd);
|
sb->Draw(osd);
|
||||||
Timeout.Set(sb->Timeout() * 1000);
|
Timeout.Set(sb->Timeout() * 1000);
|
||||||
dbgconverter("PTS: %"PRId64" STC: %"PRId64" (%"PRId64") timeout: %d<br>\n", sb->Pts(), STC, Delta, sb->Timeout());
|
dbgconverter("PTS: %" PRId64 " STC: %" PRId64 " (%" PRId64 ") timeout: %d<br>\n", sb->Pts(), STC, Delta, sb->Timeout());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
4
keys.h
4
keys.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: keys.h 3.0 2012/12/04 12:51:25 kls Exp $
|
* $Id: keys.h 3.1 2015/01/27 10:45:18 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __KEYS_H
|
#ifndef __KEYS_H
|
||||||
@ -65,6 +65,8 @@ enum eKeys { // "Up" and "Down" must be the first two keys!
|
|||||||
|
|
||||||
// This is in preparation for having more key codes:
|
// This is in preparation for having more key codes:
|
||||||
#define kMarkToggle k0
|
#define kMarkToggle k0
|
||||||
|
#define kMarkSkipBack k1
|
||||||
|
#define kMarkSkipForward k3
|
||||||
#define kMarkMoveBack k4
|
#define kMarkMoveBack k4
|
||||||
#define kMarkMoveForward k6
|
#define kMarkMoveForward k6
|
||||||
#define kMarkJumpBack k7
|
#define kMarkJumpBack k7
|
||||||
|
158
menu.c
158
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 3.28 2015/01/15 11:14:21 kls Exp $
|
* $Id: menu.c 3.35 2015/02/01 10:42:11 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
@ -3419,7 +3419,7 @@ cMenuSetupCAMItem::cMenuSetupCAMItem(cCamSlot *CamSlot)
|
|||||||
|
|
||||||
bool cMenuSetupCAMItem::Changed(void)
|
bool cMenuSetupCAMItem::Changed(void)
|
||||||
{
|
{
|
||||||
char buffer[32];
|
const char *Activating = "";
|
||||||
const char *CamName = camSlot->GetCamName();
|
const char *CamName = camSlot->GetCamName();
|
||||||
if (!CamName) {
|
if (!CamName) {
|
||||||
switch (camSlot->ModuleStatus()) {
|
switch (camSlot->ModuleStatus()) {
|
||||||
@ -3429,7 +3429,10 @@ bool cMenuSetupCAMItem::Changed(void)
|
|||||||
default: CamName = "-"; break;
|
default: CamName = "-"; break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
snprintf(buffer, sizeof(buffer), " %d %s", camSlot->SlotNumber(), CamName);
|
else if (camSlot->IsActivating())
|
||||||
|
// TRANSLATORS: note the leading blank!
|
||||||
|
Activating = tr(" (activating)");
|
||||||
|
cString buffer = cString::sprintf(" %d %s%s", camSlot->SlotNumber(), CamName, Activating);
|
||||||
if (strcmp(buffer, Text()) != 0) {
|
if (strcmp(buffer, Text()) != 0) {
|
||||||
SetText(buffer);
|
SetText(buffer);
|
||||||
return true;
|
return true;
|
||||||
@ -3439,8 +3442,11 @@ bool cMenuSetupCAMItem::Changed(void)
|
|||||||
|
|
||||||
class cMenuSetupCAM : public cMenuSetupBase {
|
class cMenuSetupCAM : public cMenuSetupBase {
|
||||||
private:
|
private:
|
||||||
|
const char *activationHelp;
|
||||||
eOSState Menu(void);
|
eOSState Menu(void);
|
||||||
eOSState Reset(void);
|
eOSState Reset(void);
|
||||||
|
eOSState Activate(void);
|
||||||
|
void SetHelpKeys(void);
|
||||||
public:
|
public:
|
||||||
cMenuSetupCAM(void);
|
cMenuSetupCAM(void);
|
||||||
virtual eOSState ProcessKey(eKeys Key);
|
virtual eOSState ProcessKey(eKeys Key);
|
||||||
@ -3448,13 +3454,33 @@ public:
|
|||||||
|
|
||||||
cMenuSetupCAM::cMenuSetupCAM(void)
|
cMenuSetupCAM::cMenuSetupCAM(void)
|
||||||
{
|
{
|
||||||
|
activationHelp = NULL;
|
||||||
SetMenuCategory(mcSetupCam);
|
SetMenuCategory(mcSetupCam);
|
||||||
SetSection(tr("CAM"));
|
SetSection(tr("CAM"));
|
||||||
SetCols(15);
|
SetCols(15);
|
||||||
SetHasHotkeys();
|
SetHasHotkeys();
|
||||||
for (cCamSlot *CamSlot = CamSlots.First(); CamSlot; CamSlot = CamSlots.Next(CamSlot))
|
for (cCamSlot *CamSlot = CamSlots.First(); CamSlot; CamSlot = CamSlots.Next(CamSlot))
|
||||||
Add(new cMenuSetupCAMItem(CamSlot));
|
Add(new cMenuSetupCAMItem(CamSlot));
|
||||||
SetHelp(tr("Button$Menu"), tr("Button$Reset"));
|
SetHelpKeys();
|
||||||
|
}
|
||||||
|
|
||||||
|
void cMenuSetupCAM::SetHelpKeys(void)
|
||||||
|
{
|
||||||
|
if (HasSubMenu())
|
||||||
|
return;
|
||||||
|
cMenuSetupCAMItem *item = (cMenuSetupCAMItem *)Get(Current());
|
||||||
|
const char *NewActivationHelp = "";
|
||||||
|
if (item) {
|
||||||
|
cCamSlot *CamSlot = item->CamSlot();
|
||||||
|
if (CamSlot->IsActivating())
|
||||||
|
NewActivationHelp = tr("Button$Cancel activation");
|
||||||
|
else if (CamSlot->CanActivate())
|
||||||
|
NewActivationHelp = tr("Button$Activate");
|
||||||
|
}
|
||||||
|
if (NewActivationHelp != activationHelp) {
|
||||||
|
activationHelp = NewActivationHelp;
|
||||||
|
SetHelp(tr("Button$Menu"), tr("Button$Reset"), activationHelp);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
eOSState cMenuSetupCAM::Menu(void)
|
eOSState cMenuSetupCAM::Menu(void)
|
||||||
@ -3484,6 +3510,43 @@ eOSState cMenuSetupCAM::Menu(void)
|
|||||||
return osContinue;
|
return osContinue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
eOSState cMenuSetupCAM::Activate(void)
|
||||||
|
{
|
||||||
|
cMenuSetupCAMItem *item = (cMenuSetupCAMItem *)Get(Current());
|
||||||
|
if (item) {
|
||||||
|
cCamSlot *CamSlot = item->CamSlot();
|
||||||
|
if (CamSlot->IsActivating())
|
||||||
|
CamSlot->CancelActivation();
|
||||||
|
else if (CamSlot->CanActivate()) {
|
||||||
|
if (CamSlot->Priority() < LIVEPRIORITY) { // don't interrupt recordings
|
||||||
|
if (cChannel *Channel = Channels.GetByNumber(cDevice::CurrentChannel())) {
|
||||||
|
for (int i = 0; i < cDevice::NumDevices(); i++) {
|
||||||
|
if (cDevice *Device = cDevice::GetDevice(i)) {
|
||||||
|
if (Device->ProvidesChannel(Channel)) {
|
||||||
|
if (Device->Priority() < LIVEPRIORITY) { // don't interrupt recordings
|
||||||
|
if (CamSlot->CanActivate()) {
|
||||||
|
if (CamSlot->Assign(Device, true)) { // query
|
||||||
|
cControl::Shutdown(); // must end transfer mode before assigning CAM, otherwise it might be unassigned again
|
||||||
|
if (CamSlot->Assign(Device)) {
|
||||||
|
if (Device->SwitchChannel(Channel, true)) {
|
||||||
|
CamSlot->StartActivation();
|
||||||
|
return osContinue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Skins.Message(mtError, tr("Can't activate CAM!"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return osContinue;
|
||||||
|
}
|
||||||
|
|
||||||
eOSState cMenuSetupCAM::Reset(void)
|
eOSState cMenuSetupCAM::Reset(void)
|
||||||
{
|
{
|
||||||
cMenuSetupCAMItem *item = (cMenuSetupCAMItem *)Get(Current());
|
cMenuSetupCAMItem *item = (cMenuSetupCAMItem *)Get(Current());
|
||||||
@ -3505,12 +3568,14 @@ eOSState cMenuSetupCAM::ProcessKey(eKeys Key)
|
|||||||
case kOk:
|
case kOk:
|
||||||
case kRed: return Menu();
|
case kRed: return Menu();
|
||||||
case kGreen: state = Reset(); break;
|
case kGreen: state = Reset(); break;
|
||||||
|
case kYellow: state = Activate(); break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
for (cMenuSetupCAMItem *ci = (cMenuSetupCAMItem *)First(); ci; ci = (cMenuSetupCAMItem *)ci->Next()) {
|
for (cMenuSetupCAMItem *ci = (cMenuSetupCAMItem *)First(); ci; ci = (cMenuSetupCAMItem *)ci->Next()) {
|
||||||
if (ci->Changed())
|
if (ci->Changed())
|
||||||
DisplayItem(ci);
|
DisplayItem(ci);
|
||||||
}
|
}
|
||||||
|
SetHelpKeys();
|
||||||
}
|
}
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
@ -3571,6 +3636,11 @@ cMenuSetupReplay::cMenuSetupReplay(void)
|
|||||||
Add(new cMenuEditBoolItem(tr("Setup.Replay$Show remaining time"), &data.ShowRemainingTime));
|
Add(new cMenuEditBoolItem(tr("Setup.Replay$Show remaining time"), &data.ShowRemainingTime));
|
||||||
Add(new cMenuEditIntItem( tr("Setup.Replay$Progress display time (s)"), &data.ProgressDisplayTime, 0, 60));
|
Add(new cMenuEditIntItem( tr("Setup.Replay$Progress display time (s)"), &data.ProgressDisplayTime, 0, 60));
|
||||||
Add(new cMenuEditBoolItem(tr("Setup.Replay$Pause replay when setting mark"), &data.PauseOnMarkSet));
|
Add(new cMenuEditBoolItem(tr("Setup.Replay$Pause replay when setting mark"), &data.PauseOnMarkSet));
|
||||||
|
Add(new cMenuEditBoolItem(tr("Setup.Replay$Pause replay when jumping to a mark"), &data.PauseOnMarkJump));
|
||||||
|
Add(new cMenuEditBoolItem(tr("Setup.Replay$Skip edited parts"), &data.SkipEdited));
|
||||||
|
Add(new cMenuEditBoolItem(tr("Setup.Replay$Pause replay at last mark"), &data.PauseAtLastMark));
|
||||||
|
Add(new cMenuEditIntItem( tr("Setup.Replay$Binary skip initial value (s)"), &data.BinarySkipInitial, 10, 600));
|
||||||
|
Add(new cMenuEditIntItem( tr("Setup.Replay$Binary skip timeout (s)"), &data.BinarySkipTimeout, 0, 10));
|
||||||
Add(new cMenuEditIntItem(tr("Setup.Replay$Resume ID"), &data.ResumeID, 0, 99));
|
Add(new cMenuEditIntItem(tr("Setup.Replay$Resume ID"), &data.ResumeID, 0, 99));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4910,6 +4980,39 @@ bool cRecordControls::StateChanged(int &State)
|
|||||||
return Result;
|
return Result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// --- cBinarySkipper --------------------------------------------------------
|
||||||
|
|
||||||
|
cBinarySkipper::cBinarySkipper(void)
|
||||||
|
{
|
||||||
|
initialValue = NULL;
|
||||||
|
currentValue = 0;
|
||||||
|
framesPerSecond = 0;
|
||||||
|
lastKey = kNone;
|
||||||
|
}
|
||||||
|
|
||||||
|
void cBinarySkipper::Initialize(int *InitialValue, double FramesPerSecond)
|
||||||
|
{
|
||||||
|
initialValue = InitialValue;
|
||||||
|
framesPerSecond = FramesPerSecond;
|
||||||
|
currentValue = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int cBinarySkipper::GetValue(eKeys Key)
|
||||||
|
{
|
||||||
|
if (!initialValue)
|
||||||
|
return 0;
|
||||||
|
if (timeout.TimedOut()) {
|
||||||
|
currentValue = int(round(*initialValue * framesPerSecond));
|
||||||
|
lastKey = Key;
|
||||||
|
}
|
||||||
|
else if (Key != lastKey) {
|
||||||
|
currentValue /= 2;
|
||||||
|
lastKey = kNone; // once the direction has changed, every further call halves the value
|
||||||
|
}
|
||||||
|
timeout.Set(Setup.BinarySkipTimeout * 1000);
|
||||||
|
return max(currentValue, 1);
|
||||||
|
}
|
||||||
|
|
||||||
// --- cReplayControl --------------------------------------------------------
|
// --- cReplayControl --------------------------------------------------------
|
||||||
|
|
||||||
cReplayControl *cReplayControl::currentReplayControl = NULL;
|
cReplayControl *cReplayControl::currentReplayControl = NULL;
|
||||||
@ -4931,6 +5034,7 @@ cReplayControl::cReplayControl(bool PauseLive)
|
|||||||
cRecording Recording(fileName);
|
cRecording Recording(fileName);
|
||||||
cStatus::MsgReplaying(this, Recording.Name(), Recording.FileName(), true);
|
cStatus::MsgReplaying(this, Recording.Name(), Recording.FileName(), true);
|
||||||
marks.Load(fileName, Recording.FramesPerSecond(), Recording.IsPesRecording());
|
marks.Load(fileName, Recording.FramesPerSecond(), Recording.IsPesRecording());
|
||||||
|
binarySkipper.Initialize(&Setup.BinarySkipInitial, Recording.FramesPerSecond());
|
||||||
SetTrackDescriptions(false);
|
SetTrackDescriptions(false);
|
||||||
if (Setup.ProgressDisplayTime)
|
if (Setup.ProgressDisplayTime)
|
||||||
ShowTimed(Setup.ProgressDisplayTime);
|
ShowTimed(Setup.ProgressDisplayTime);
|
||||||
@ -5158,8 +5262,6 @@ void cReplayControl::TimeSearchProcess(eKeys Key)
|
|||||||
Seconds = min(Total - STAY_SECONDS_OFF_END, Seconds);
|
Seconds = min(Total - STAY_SECONDS_OFF_END, Seconds);
|
||||||
bool Still = Key == kDown || Key == kPause || Key == kOk;
|
bool Still = Key == kDown || Key == kPause || Key == kOk;
|
||||||
Goto(SecondsToFrames(Seconds, FramesPerSecond()), Still);
|
Goto(SecondsToFrames(Seconds, FramesPerSecond()), Still);
|
||||||
if (!Still)
|
|
||||||
Play();
|
|
||||||
}
|
}
|
||||||
timeSearchActive = false;
|
timeSearchActive = false;
|
||||||
break;
|
break;
|
||||||
@ -5223,6 +5325,14 @@ void cReplayControl::MarkJump(bool Forward)
|
|||||||
if (GetIndex(Current, Total)) {
|
if (GetIndex(Current, Total)) {
|
||||||
if (marks.Count()) {
|
if (marks.Count()) {
|
||||||
if (cMark *m = Forward ? marks.GetNext(Current) : marks.GetPrev(Current)) {
|
if (cMark *m = Forward ? marks.GetNext(Current) : marks.GetPrev(Current)) {
|
||||||
|
if (!Setup.PauseOnMarkJump) {
|
||||||
|
bool Playing, Fwd;
|
||||||
|
int Speed;
|
||||||
|
if (GetReplayMode(Playing, Fwd, Speed) && Playing && Forward && m->Position() < Total - SecondsToFrames(3, FramesPerSecond())) {
|
||||||
|
Goto(m->Position());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
Goto(m->Position(), true);
|
Goto(m->Position(), true);
|
||||||
displayFrames = true;
|
displayFrames = true;
|
||||||
return;
|
return;
|
||||||
@ -5234,26 +5344,40 @@ void cReplayControl::MarkJump(bool Forward)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void cReplayControl::MarkMove(bool Forward)
|
void cReplayControl::MarkMove(int Frames, bool MarkRequired)
|
||||||
{
|
{
|
||||||
int Current, Total;
|
int Current, Total;
|
||||||
if (GetIndex(Current, Total)) {
|
if (GetIndex(Current, Total)) {
|
||||||
if (cMark *m = marks.Get(Current)) {
|
bool Play, Forward;
|
||||||
|
int Speed;
|
||||||
|
GetReplayMode(Play, Forward, Speed);
|
||||||
|
cMark *m = marks.Get(Current);
|
||||||
|
if (!Play && m) {
|
||||||
displayFrames = true;
|
displayFrames = true;
|
||||||
int p = SkipFrames(Forward ? 1 : -1);
|
|
||||||
cMark *m2;
|
cMark *m2;
|
||||||
if (Forward) {
|
if (Frames > 0) {
|
||||||
|
// Handle marks at the same offset:
|
||||||
while ((m2 = marks.Next(m)) != NULL && m2->Position() == m->Position())
|
while ((m2 = marks.Next(m)) != NULL && m2->Position() == m->Position())
|
||||||
m = m2;
|
m = m2;
|
||||||
|
// Don't skip the next mark:
|
||||||
|
if ((m2 = marks.Next(m)) != NULL)
|
||||||
|
Frames = min(Frames, m2->Position() - m->Position() - 1);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
// Handle marks at the same offset:
|
||||||
while ((m2 = marks.Prev(m)) != NULL && m2->Position() == m->Position())
|
while ((m2 = marks.Prev(m)) != NULL && m2->Position() == m->Position())
|
||||||
m = m2;
|
m = m2;
|
||||||
|
// Don't skip the next mark:
|
||||||
|
if ((m2 = marks.Prev(m)) != NULL)
|
||||||
|
Frames = -min(-Frames, m->Position() - m2->Position() - 1);
|
||||||
}
|
}
|
||||||
|
int p = SkipFrames(Frames);
|
||||||
m->SetPosition(p);
|
m->SetPosition(p);
|
||||||
Goto(m->Position(), true);
|
Goto(m->Position(), true);
|
||||||
marksModified = true;
|
marksModified = true;
|
||||||
}
|
}
|
||||||
|
else if (!MarkRequired)
|
||||||
|
Goto(SkipFrames(Frames), !Play);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5287,12 +5411,10 @@ void cReplayControl::EditTest(void)
|
|||||||
if (!m)
|
if (!m)
|
||||||
m = marks.GetNext(Current);
|
m = marks.GetNext(Current);
|
||||||
if (m) {
|
if (m) {
|
||||||
if ((m->Index() & 0x01) != 0)
|
if ((m->Index() & 0x01) != 0 && !Setup.SkipEdited) // when skipping edited parts we also need to jump to end marks
|
||||||
m = marks.Next(m);
|
m = marks.Next(m);
|
||||||
if (m) {
|
if (m)
|
||||||
Goto(m->Position() - SecondsToFrames(3, FramesPerSecond()));
|
Goto(m->Position() - SecondsToFrames(3, FramesPerSecond()));
|
||||||
Play();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -5384,9 +5506,13 @@ eOSState cReplayControl::ProcessKey(eKeys Key)
|
|||||||
case kMarkJumpForward|k_Repeat:
|
case kMarkJumpForward|k_Repeat:
|
||||||
case kMarkJumpForward: MarkJump(true); break;
|
case kMarkJumpForward: MarkJump(true); break;
|
||||||
case kMarkMoveBack|k_Repeat:
|
case kMarkMoveBack|k_Repeat:
|
||||||
case kMarkMoveBack: MarkMove(false); break;
|
case kMarkMoveBack: MarkMove(-1, true); break;
|
||||||
case kMarkMoveForward|k_Repeat:
|
case kMarkMoveForward|k_Repeat:
|
||||||
case kMarkMoveForward: MarkMove(true); break;
|
case kMarkMoveForward: MarkMove(+1, true); break;
|
||||||
|
case kMarkSkipBack|k_Repeat:
|
||||||
|
case kMarkSkipBack: MarkMove(-binarySkipper.GetValue(RAWKEY(Key)), false); break;
|
||||||
|
case kMarkSkipForward|k_Repeat:
|
||||||
|
case kMarkSkipForward: MarkMove(+binarySkipper.GetValue(RAWKEY(Key)), false); break;
|
||||||
case kEditCut: EditCut(); break;
|
case kEditCut: EditCut(); break;
|
||||||
case kEditTest: EditTest(); break;
|
case kEditTest: EditTest(); break;
|
||||||
default: {
|
default: {
|
||||||
|
18
menu.h
18
menu.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: menu.h 3.6 2015/01/15 11:12:57 kls Exp $
|
* $Id: menu.h 3.7 2015/01/27 11:38:20 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __MENU_H
|
#ifndef __MENU_H
|
||||||
@ -270,9 +270,23 @@ public:
|
|||||||
static bool StateChanged(int &State);
|
static bool StateChanged(int &State);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class cBinarySkipper {
|
||||||
|
private:
|
||||||
|
int *initialValue;
|
||||||
|
int currentValue;
|
||||||
|
double framesPerSecond;
|
||||||
|
eKeys lastKey;
|
||||||
|
cTimeMs timeout;
|
||||||
|
public:
|
||||||
|
cBinarySkipper(void);
|
||||||
|
void Initialize(int *InitialValue, double FramesPerSecond);
|
||||||
|
int GetValue(eKeys Key);
|
||||||
|
};
|
||||||
|
|
||||||
class cReplayControl : public cDvbPlayerControl {
|
class cReplayControl : public cDvbPlayerControl {
|
||||||
private:
|
private:
|
||||||
cSkinDisplayReplay *displayReplay;
|
cSkinDisplayReplay *displayReplay;
|
||||||
|
cBinarySkipper binarySkipper;
|
||||||
cMarks marks;
|
cMarks marks;
|
||||||
bool marksModified;
|
bool marksModified;
|
||||||
bool visible, modeOnly, shown, displayFrames;
|
bool visible, modeOnly, shown, displayFrames;
|
||||||
@ -292,7 +306,7 @@ private:
|
|||||||
bool ShowProgress(bool Initial);
|
bool ShowProgress(bool Initial);
|
||||||
void MarkToggle(void);
|
void MarkToggle(void);
|
||||||
void MarkJump(bool Forward);
|
void MarkJump(bool Forward);
|
||||||
void MarkMove(bool Forward);
|
void MarkMove(int Frames, bool MarkRequired);
|
||||||
void EditCut(void);
|
void EditCut(void);
|
||||||
void EditTest(void);
|
void EditTest(void);
|
||||||
public:
|
public:
|
||||||
|
36
nit.c
36
nit.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: nit.c 3.3 2014/03/16 10:38:31 kls Exp $
|
* $Id: nit.c 3.4 2015/02/01 13:46:00 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "nit.h"
|
#include "nit.h"
|
||||||
@ -357,6 +357,40 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case SI::LogicalChannelDescriptorTag: {
|
||||||
|
SI::LogicalChannelDescriptor *lcd = (SI::LogicalChannelDescriptor *)d;
|
||||||
|
SI::LogicalChannelDescriptor::LogicalChannel LogicalChannel;
|
||||||
|
for (SI::Loop::Iterator it4; lcd->logicalChannelLoop.getNext(LogicalChannel, it4); ) {
|
||||||
|
int lcn = LogicalChannel.getLogicalChannelNumber();
|
||||||
|
int sid = LogicalChannel.getServiceId();
|
||||||
|
if (LogicalChannel.getVisibleServiceFlag()) {
|
||||||
|
for (cChannel *Channel = Channels.First(); Channel; Channel = Channels.Next(Channel)) {
|
||||||
|
if (!Channel->GroupSep() && Channel->Sid() == sid && Channel->Nid() == ts.getOriginalNetworkId() && Channel->Tid() == ts.getTransportStreamId()) {
|
||||||
|
Channel->SetLcn(lcn);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SI::HdSimulcastLogicalChannelDescriptorTag: {
|
||||||
|
SI::HdSimulcastLogicalChannelDescriptor *lcd = (SI::HdSimulcastLogicalChannelDescriptor *)d;
|
||||||
|
SI::HdSimulcastLogicalChannelDescriptor::HdSimulcastLogicalChannel HdSimulcastLogicalChannel;
|
||||||
|
for (SI::Loop::Iterator it4; lcd->hdSimulcastLogicalChannelLoop.getNext(HdSimulcastLogicalChannel, it4); ) {
|
||||||
|
int lcn = HdSimulcastLogicalChannel.getLogicalChannelNumber();
|
||||||
|
int sid = HdSimulcastLogicalChannel.getServiceId();
|
||||||
|
if (HdSimulcastLogicalChannel.getVisibleServiceFlag()) {
|
||||||
|
for (cChannel *Channel = Channels.First(); Channel; Channel = Channels.Next(Channel)) {
|
||||||
|
if (!Channel->GroupSep() && Channel->Sid() == sid && Channel->Nid() == ts.getOriginalNetworkId() && Channel->Tid() == ts.getTransportStreamId()) {
|
||||||
|
Channel->SetLcn(lcn);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
default: ;
|
default: ;
|
||||||
}
|
}
|
||||||
delete d;
|
delete d;
|
||||||
|
33
po/ar.po
33
po/ar.po
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+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"
|
||||||
@ -23,6 +23,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** قناة خاطئة ***"
|
msgstr "*** قناة خاطئة ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "القناة غير متاحة"
|
msgstr "القناة غير متاحة"
|
||||||
|
|
||||||
@ -1112,9 +1115,19 @@ msgstr "الكامة موجودة"
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "الكامة جاهزة"
|
msgstr "الكامة جاهزة"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "الكامة "
|
msgstr "الكامة "
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "القائمة"
|
msgstr "القائمة"
|
||||||
|
|
||||||
@ -1127,6 +1140,9 @@ msgstr "فتح قائمة الكامة"
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "تعذر فتح قائمة الكامة"
|
msgstr "تعذر فتح قائمة الكامة"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "الكامة مستخدمة الان هل تريد اعادة تشغيلها"
|
msgstr "الكامة مستخدمة الان هل تريد اعادة تشغيلها"
|
||||||
|
|
||||||
@ -1220,6 +1236,21 @@ msgstr "Progress display time (s)"
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr "Pause replay when setting mark"
|
msgstr "Pause replay when setting mark"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "رقم المواصلة"
|
msgstr "رقم المواصلة"
|
||||||
|
|
||||||
|
33
po/ca_ES.po
33
po/ca_ES.po
@ -10,7 +10,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+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"
|
||||||
@ -22,6 +22,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Canal incorrecte ***"
|
msgstr "*** Canal incorrecte ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "Canal no disponible!"
|
msgstr "Canal no disponible!"
|
||||||
|
|
||||||
@ -1111,9 +1114,19 @@ msgstr "CAM present"
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "CAM preparat"
|
msgstr "CAM preparat"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM"
|
msgstr "CAM"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Menú"
|
msgstr "Menú"
|
||||||
|
|
||||||
@ -1126,6 +1139,9 @@ msgstr "Obrint menu CAM..."
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "No puc obrir el menú de la CAM!"
|
msgstr "No puc obrir el menú de la CAM!"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "CAM en ús - reiniciar?"
|
msgstr "CAM en ús - reiniciar?"
|
||||||
|
|
||||||
@ -1219,6 +1235,21 @@ msgstr "Visualitzaci
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr "Pausar reproducció en establir marca"
|
msgstr "Pausar reproducció en establir marca"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "ID de Continuar"
|
msgstr "ID de Continuar"
|
||||||
|
|
||||||
|
33
po/cs_CZ.po
33
po/cs_CZ.po
@ -10,7 +10,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
|
||||||
"PO-Revision-Date: 2010-05-06 11:00+0200\n"
|
"PO-Revision-Date: 2010-05-06 11:00+0200\n"
|
||||||
"Last-Translator: Aleš Juřík <ajurik@quick.cz>\n"
|
"Last-Translator: Aleš Juřík <ajurik@quick.cz>\n"
|
||||||
"Language-Team: Czech <vdr@linuxtv.org>\n"
|
"Language-Team: Czech <vdr@linuxtv.org>\n"
|
||||||
@ -22,6 +22,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Neplatný kanál ***"
|
msgstr "*** Neplatný kanál ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "Kanál není dostupný!"
|
msgstr "Kanál není dostupný!"
|
||||||
|
|
||||||
@ -1111,9 +1114,19 @@ msgstr "CAM přítomen"
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "CAM připraven"
|
msgstr "CAM připraven"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM"
|
msgstr "CAM"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Menu"
|
msgstr "Menu"
|
||||||
|
|
||||||
@ -1126,6 +1139,9 @@ msgstr "Otevírá se menu CAM..."
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "Menu CAM není dostupné"
|
msgstr "Menu CAM není dostupné"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "CAM se používá - opravdu restartovat?"
|
msgstr "CAM se používá - opravdu restartovat?"
|
||||||
|
|
||||||
@ -1219,6 +1235,21 @@ msgstr "Čas zobrazení ukazatele průběhu (s)"
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr "Pozastavit přehrávání při nastavování značky"
|
msgstr "Pozastavit přehrávání při nastavování značky"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "ID obnovení"
|
msgstr "ID obnovení"
|
||||||
|
|
||||||
|
33
po/da_DK.po
33
po/da_DK.po
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+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"
|
||||||
@ -19,6 +19,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Ugyldig kanal! ***"
|
msgstr "*** Ugyldig kanal! ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "Kanal er ikke tilgængelig!"
|
msgstr "Kanal er ikke tilgængelig!"
|
||||||
|
|
||||||
@ -1108,9 +1111,19 @@ msgstr "CAM til stede"
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "CAM klar"
|
msgstr "CAM klar"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM"
|
msgstr "CAM"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Menu"
|
msgstr "Menu"
|
||||||
|
|
||||||
@ -1123,6 +1136,9 @@ msgstr "
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "Kan ikke åbne CAM menuen!"
|
msgstr "Kan ikke åbne CAM menuen!"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "CAM er i brug - virkelig nulstille?"
|
msgstr "CAM er i brug - virkelig nulstille?"
|
||||||
|
|
||||||
@ -1216,6 +1232,21 @@ msgstr ""
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "Genoptagelses ID"
|
msgstr "Genoptagelses ID"
|
||||||
|
|
||||||
|
33
po/de_DE.po
33
po/de_DE.po
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+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 <vdr@tvdr.de>\n"
|
"Last-Translator: Klaus Schmidinger <vdr@tvdr.de>\n"
|
||||||
"Language-Team: German <vdr@linuxtv.org>\n"
|
"Language-Team: German <vdr@linuxtv.org>\n"
|
||||||
@ -19,6 +19,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Ungültiger Kanal ***"
|
msgstr "*** Ungültiger Kanal ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr "CAM aktiviert!"
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "Kanal nicht verfügbar!"
|
msgstr "Kanal nicht verfügbar!"
|
||||||
|
|
||||||
@ -1108,9 +1111,19 @@ msgstr "CAM vorhanden"
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "CAM bereit"
|
msgstr "CAM bereit"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr " (wird aktiviert)"
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM"
|
msgstr "CAM"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr "Aktivierung abbrechen"
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr "Aktivieren"
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Menü"
|
msgstr "Menü"
|
||||||
|
|
||||||
@ -1123,6 +1136,9 @@ msgstr "CAM-Men
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "CAM-Menü kann nicht geöffnet werden!"
|
msgstr "CAM-Menü kann nicht geöffnet werden!"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr "CAM kann nicht aktiviert werden!"
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "CAM wird benutzt - wirklich zurücksetzen?"
|
msgstr "CAM wird benutzt - wirklich zurücksetzen?"
|
||||||
|
|
||||||
@ -1216,6 +1232,21 @@ msgstr "Anzeigedauer f
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr "Pause beim Setzen einer Schnittmarke"
|
msgstr "Pause beim Setzen einer Schnittmarke"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr "Pause beim Sprung auf eine Schnittmarke"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr "Herausgeschnittene Teile überspringen"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr "Pause an der letzten Schnittmarke"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr "Anfangswert für binäres Springen (s)"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr "Zeitlimit für binäres Springen (ms)"
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "Wiedergabe-ID"
|
msgstr "Wiedergabe-ID"
|
||||||
|
|
||||||
|
33
po/el_GR.po
33
po/el_GR.po
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+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"
|
||||||
@ -19,6 +19,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Áêõñï êáíÜëç ***"
|
msgstr "*** Áêõñï êáíÜëç ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "Ôï êáíÜëç äÝí åßíáé äéáèÝóéìï!"
|
msgstr "Ôï êáíÜëç äÝí åßíáé äéáèÝóéìï!"
|
||||||
|
|
||||||
@ -1108,9 +1111,19 @@ msgstr ""
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM"
|
msgstr "CAM"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Måíïý"
|
msgstr "Måíïý"
|
||||||
|
|
||||||
@ -1123,6 +1136,9 @@ msgstr ""
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "Áäýíáôç ç ðñüóâáóç óôü CAM ìåíïý!"
|
msgstr "Áäýíáôç ç ðñüóâáóç óôü CAM ìåíïý!"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1216,6 +1232,21 @@ msgstr ""
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "ID áíáìåôÜäïóçò"
|
msgstr "ID áíáìåôÜäïóçò"
|
||||||
|
|
||||||
|
33
po/es_ES.po
33
po/es_ES.po
@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+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"
|
||||||
@ -20,6 +20,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Canal no válido ***"
|
msgstr "*** Canal no válido ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "¡Canal no disponible!"
|
msgstr "¡Canal no disponible!"
|
||||||
|
|
||||||
@ -1109,9 +1112,19 @@ msgstr "CAM presente"
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "CAM preparado"
|
msgstr "CAM preparado"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM"
|
msgstr "CAM"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Menú"
|
msgstr "Menú"
|
||||||
|
|
||||||
@ -1124,6 +1137,9 @@ msgstr "Abriendo el men
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "¡No se puede abrir el menú CAM!"
|
msgstr "¡No se puede abrir el menú CAM!"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "CAM en uso - ¿reiniciar?"
|
msgstr "CAM en uso - ¿reiniciar?"
|
||||||
|
|
||||||
@ -1217,6 +1233,21 @@ msgstr "Visualizaci
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr "Pausar reproducción al establecer marca"
|
msgstr "Pausar reproducción al establecer marca"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "ID de continuación"
|
msgstr "ID de continuación"
|
||||||
|
|
||||||
|
53
po/et_EE.po
53
po/et_EE.po
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+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"
|
||||||
@ -17,7 +17,10 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Vigane kanal ***"
|
msgstr "*** Kehtetu kanal ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "Kanal ei ole kättesaadav!"
|
msgstr "Kanal ei ole kättesaadav!"
|
||||||
@ -74,16 +77,16 @@ msgid "Rolloff"
|
|||||||
msgstr "Rolloff"
|
msgstr "Rolloff"
|
||||||
|
|
||||||
msgid "StreamId"
|
msgid "StreamId"
|
||||||
msgstr "Stream-tunnus"
|
msgstr "Vootunnus"
|
||||||
|
|
||||||
msgid "Pilot"
|
msgid "Pilot"
|
||||||
msgstr ""
|
msgstr "Piloot"
|
||||||
|
|
||||||
msgid "T2SystemId"
|
msgid "T2SystemId"
|
||||||
msgstr ""
|
msgstr "T2 tunnus"
|
||||||
|
|
||||||
msgid "SISO/MISO"
|
msgid "SISO/MISO"
|
||||||
msgstr ""
|
msgstr "SISO/MISO"
|
||||||
|
|
||||||
msgid "Starting EPG scan"
|
msgid "Starting EPG scan"
|
||||||
msgstr "EPG skaneerimine käivitatud"
|
msgstr "EPG skaneerimine käivitatud"
|
||||||
@ -573,10 +576,10 @@ msgid "Sid"
|
|||||||
msgstr "Sid"
|
msgstr "Sid"
|
||||||
|
|
||||||
msgid "Nid"
|
msgid "Nid"
|
||||||
msgstr ""
|
msgstr "Nid"
|
||||||
|
|
||||||
msgid "Tid"
|
msgid "Tid"
|
||||||
msgstr ""
|
msgstr "Tid"
|
||||||
|
|
||||||
msgid "Channel settings are not unique!"
|
msgid "Channel settings are not unique!"
|
||||||
msgstr "Kanaliseaded ei ole unikaalsed!"
|
msgstr "Kanaliseaded ei ole unikaalsed!"
|
||||||
@ -597,7 +600,7 @@ msgid "Button$Mark"
|
|||||||
msgstr "Märkimine"
|
msgstr "Märkimine"
|
||||||
|
|
||||||
msgid "Channel is being used by a timer!"
|
msgid "Channel is being used by a timer!"
|
||||||
msgstr "Kanal on taimeri kasutuses!"
|
msgstr "Kanal on taimeris kasutusel!"
|
||||||
|
|
||||||
msgid "Delete channel?"
|
msgid "Delete channel?"
|
||||||
msgstr "Kustutada kanal?"
|
msgstr "Kustutada kanal?"
|
||||||
@ -1108,9 +1111,19 @@ msgstr "CAM esitletud"
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "CAM töövalmis"
|
msgstr "CAM töövalmis"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM"
|
msgstr "CAM"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Menüü"
|
msgstr "Menüü"
|
||||||
|
|
||||||
@ -1123,6 +1136,9 @@ msgstr "CAM-menüü avamine..."
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "Ei saa avada CAM menüüd!"
|
msgstr "Ei saa avada CAM menüüd!"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "CAM on kasutuses - taaskäivitada?"
|
msgstr "CAM on kasutuses - taaskäivitada?"
|
||||||
|
|
||||||
@ -1216,6 +1232,21 @@ msgstr "Edenemiseriba kuvamise aeg (s)"
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr "Taasesituse peatamine markeri seadmisel"
|
msgstr "Taasesituse peatamine markeri seadmisel"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "Jätkamise ID"
|
msgstr "Jätkamise ID"
|
||||||
|
|
||||||
@ -1253,10 +1284,10 @@ msgid "Setup.Miscellaneous$Initial volume"
|
|||||||
msgstr "Helitugevus käivitamisel"
|
msgstr "Helitugevus käivitamisel"
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Volume steps"
|
msgid "Setup.Miscellaneous$Volume steps"
|
||||||
msgstr ""
|
msgstr "Helitugevuse samm"
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Volume linearize"
|
msgid "Setup.Miscellaneous$Volume linearize"
|
||||||
msgstr ""
|
msgstr "Helitugevuse lineariseerimine"
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Channels wrap"
|
msgid "Setup.Miscellaneous$Channels wrap"
|
||||||
msgstr "Kanalite ringkerimine"
|
msgstr "Kanalite ringkerimine"
|
||||||
|
37
po/fi_FI.po
37
po/fi_FI.po
@ -11,7 +11,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
|
||||||
"PO-Revision-Date: 2007-08-15 15:52+0200\n"
|
"PO-Revision-Date: 2007-08-15 15:52+0200\n"
|
||||||
"Last-Translator: Matti Lehtimäki <matti.lehtimaki@gmail.com>\n"
|
"Last-Translator: Matti Lehtimäki <matti.lehtimaki@gmail.com>\n"
|
||||||
"Language-Team: Finnish <vdr@linuxtv.org>\n"
|
"Language-Team: Finnish <vdr@linuxtv.org>\n"
|
||||||
@ -23,6 +23,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Virheellinen kanavavalinta ***"
|
msgstr "*** Virheellinen kanavavalinta ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr "CA-moduuli aktivoitu!"
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "Kanava ei ole käytettävissä!"
|
msgstr "Kanava ei ole käytettävissä!"
|
||||||
|
|
||||||
@ -1112,9 +1115,19 @@ msgstr "CAM havaittu"
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "CAM valmis"
|
msgstr "CAM valmis"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr " (aktivoidaan)"
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM"
|
msgstr "CAM"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr "Peruuta aktivointi"
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr "Aktivoi"
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Valikko"
|
msgstr "Valikko"
|
||||||
|
|
||||||
@ -1127,6 +1140,9 @@ msgstr "Avataan CA-moduulin valikkoa..."
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "CA-moduulin valikko ei saatavilla"
|
msgstr "CA-moduulin valikko ei saatavilla"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr "CA-moduulin aktivointi epäonnistui!"
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "CA-moduuli käytössä - nollataanko?"
|
msgstr "CA-moduuli käytössä - nollataanko?"
|
||||||
|
|
||||||
@ -1220,6 +1236,21 @@ msgstr "Näytä toiston kontrollit (s)"
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr "Pysäytä toisto asetettaessa merkki"
|
msgstr "Pysäytä toisto asetettaessa merkki"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr "Pysäytä toisto hypätessä merkkiin"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr "Ohita muokatut kohdat"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr "Pysäytä toisto viimeiseen merkkiin"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr "Binäärihypyn oletuspituus (s)"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr "Binäärihypyn odotusaika (ms)"
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "Tallenteen paluutunniste"
|
msgstr "Tallenteen paluutunniste"
|
||||||
|
|
||||||
@ -1257,10 +1288,10 @@ msgid "Setup.Miscellaneous$Initial volume"
|
|||||||
msgstr "Äänenvoimakkuus käynnistettäessä"
|
msgstr "Äänenvoimakkuus käynnistettäessä"
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Volume steps"
|
msgid "Setup.Miscellaneous$Volume steps"
|
||||||
msgstr ""
|
msgstr "Äänenvoimakkuuden askellus"
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Volume linearize"
|
msgid "Setup.Miscellaneous$Volume linearize"
|
||||||
msgstr ""
|
msgstr "Äänenvoimakkuuden lineaarisuus"
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Channels wrap"
|
msgid "Setup.Miscellaneous$Channels wrap"
|
||||||
msgstr "Kanavien rullaus"
|
msgstr "Kanavien rullaus"
|
||||||
|
33
po/fr_FR.po
33
po/fr_FR.po
@ -17,7 +17,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
|
||||||
"PO-Revision-Date: 2013-02-24 12:56+0100\n"
|
"PO-Revision-Date: 2013-02-24 12:56+0100\n"
|
||||||
"Last-Translator: Dominique Plu <dplu@free.fr>\n"
|
"Last-Translator: Dominique Plu <dplu@free.fr>\n"
|
||||||
"Language-Team: French <vdr@linuxtv.org>\n"
|
"Language-Team: French <vdr@linuxtv.org>\n"
|
||||||
@ -29,6 +29,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Chaîne invalide ! ***"
|
msgstr "*** Chaîne invalide ! ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "Chaîne non disponible !"
|
msgstr "Chaîne non disponible !"
|
||||||
|
|
||||||
@ -1118,9 +1121,19 @@ msgstr "CAM présent"
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "CAM prêt"
|
msgstr "CAM prêt"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM"
|
msgstr "CAM"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Menu"
|
msgstr "Menu"
|
||||||
|
|
||||||
@ -1133,6 +1146,9 @@ msgstr "Ouverture du menu CAM..."
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "Impossible d'ouvrir le menu CAM !"
|
msgstr "Impossible d'ouvrir le menu CAM !"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "CAM en cours d'utilisation - confirmer réinitialisation ?"
|
msgstr "CAM en cours d'utilisation - confirmer réinitialisation ?"
|
||||||
|
|
||||||
@ -1226,6 +1242,21 @@ msgstr "Afficher la barre de progression (s)"
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr "Arrêt lecture si ajout marqueur"
|
msgstr "Arrêt lecture si ajout marqueur"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "ID de reprise"
|
msgstr "ID de reprise"
|
||||||
|
|
||||||
|
33
po/hr_HR.po
33
po/hr_HR.po
@ -9,7 +9,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+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"
|
||||||
@ -21,6 +21,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Neispravan Program ***"
|
msgstr "*** Neispravan Program ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "Program nije dostupan!"
|
msgstr "Program nije dostupan!"
|
||||||
|
|
||||||
@ -1110,9 +1113,19 @@ msgstr "CAM prisutan"
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "CAM spreman"
|
msgstr "CAM spreman"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM"
|
msgstr "CAM"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Izbornik"
|
msgstr "Izbornik"
|
||||||
|
|
||||||
@ -1125,6 +1138,9 @@ msgstr "Otvaram CAM izbornik..."
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "Otvaranje CAM izbornika neuspje¹no!"
|
msgstr "Otvaranje CAM izbornika neuspje¹no!"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "CAM se koristi - ponovno pokrenuti unatoè?"
|
msgstr "CAM se koristi - ponovno pokrenuti unatoè?"
|
||||||
|
|
||||||
@ -1218,6 +1234,21 @@ msgstr ""
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "ID nastavka"
|
msgstr "ID nastavka"
|
||||||
|
|
||||||
|
33
po/hu_HU.po
33
po/hu_HU.po
@ -10,7 +10,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
|
||||||
"PO-Revision-Date: 2013-03-01 19:22+0200\n"
|
"PO-Revision-Date: 2013-03-01 19:22+0200\n"
|
||||||
"Last-Translator: István Füley <ifuley@tigercomp.ro>\n"
|
"Last-Translator: István Füley <ifuley@tigercomp.ro>\n"
|
||||||
"Language-Team: Hungarian <vdr@linuxtv.org>\n"
|
"Language-Team: Hungarian <vdr@linuxtv.org>\n"
|
||||||
@ -23,6 +23,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Érvénytelen csatorna ***"
|
msgstr "*** Érvénytelen csatorna ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "Az adó nem elérhető"
|
msgstr "Az adó nem elérhető"
|
||||||
|
|
||||||
@ -1112,9 +1115,19 @@ msgstr "CAM jelen"
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "CAM működik"
|
msgstr "CAM működik"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM"
|
msgstr "CAM"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Menü"
|
msgstr "Menü"
|
||||||
|
|
||||||
@ -1127,6 +1140,9 @@ msgstr "A CAM menü nyitása..."
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "A CAM menü nem nyitható"
|
msgstr "A CAM menü nem nyitható"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "CAM használatban - valóban újraindítjuk?"
|
msgstr "CAM használatban - valóban újraindítjuk?"
|
||||||
|
|
||||||
@ -1220,6 +1236,21 @@ msgstr "Lejátszósáv felüntetésének ideje (mp)"
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr "A visszajátszás megállítása vágópont kijelölésnél"
|
msgstr "A visszajátszás megállítása vágópont kijelölésnél"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "Lejátszás ID"
|
msgstr "Lejátszás ID"
|
||||||
|
|
||||||
|
39
po/it_IT.po
39
po/it_IT.po
@ -11,8 +11,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
|
||||||
"PO-Revision-Date: 2014-03-23 00:54+0100\n"
|
"PO-Revision-Date: 2015-01-19 20:19+0100\n"
|
||||||
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
|
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
|
||||||
"Language-Team: Italian <vdr@linuxtv.org>\n"
|
"Language-Team: Italian <vdr@linuxtv.org>\n"
|
||||||
"Language: it\n"
|
"Language: it\n"
|
||||||
@ -26,6 +26,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Canale NON valido ***"
|
msgstr "*** Canale NON valido ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "Canale non disponibile!"
|
msgstr "Canale non disponibile!"
|
||||||
|
|
||||||
@ -1115,9 +1118,19 @@ msgstr "La CAM è presente"
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "La CAM è pronta"
|
msgstr "La CAM è pronta"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "Accesso condizionato CAM"
|
msgstr "Accesso condizionato CAM"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Menu"
|
msgstr "Menu"
|
||||||
|
|
||||||
@ -1130,6 +1143,9 @@ msgstr "Apertura menu CAM..."
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "Impossibile aprire il menu CAM!"
|
msgstr "Impossibile aprire il menu CAM!"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "La CAM è in uso - vuoi reimpostarla?"
|
msgstr "La CAM è in uso - vuoi reimpostarla?"
|
||||||
|
|
||||||
@ -1223,6 +1239,21 @@ msgstr "Mostra tempo elaborazione (s)"
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr "Pausa riproduzione durante impostazione segni"
|
msgstr "Pausa riproduzione durante impostazione segni"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "ID di ripristino"
|
msgstr "ID di ripristino"
|
||||||
|
|
||||||
@ -1260,10 +1291,10 @@ msgid "Setup.Miscellaneous$Initial volume"
|
|||||||
msgstr "Volume iniziale"
|
msgstr "Volume iniziale"
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Volume steps"
|
msgid "Setup.Miscellaneous$Volume steps"
|
||||||
msgstr ""
|
msgstr "Volume a tacche"
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Volume linearize"
|
msgid "Setup.Miscellaneous$Volume linearize"
|
||||||
msgstr ""
|
msgstr "Volume lineare"
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Channels wrap"
|
msgid "Setup.Miscellaneous$Channels wrap"
|
||||||
msgstr "Riavvolgimento canali"
|
msgstr "Riavvolgimento canali"
|
||||||
|
33
po/lt_LT.po
33
po/lt_LT.po
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+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"
|
||||||
@ -19,6 +19,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Blogi kanalo nustatymai ***"
|
msgstr "*** Blogi kanalo nustatymai ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "Kanalas neegzistuoja!"
|
msgstr "Kanalas neegzistuoja!"
|
||||||
|
|
||||||
@ -1108,9 +1111,19 @@ msgstr "Dekodavimo modulis (CAM) įjungtas"
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "Dekodavimo modulis (CAM) paruoštas darbui"
|
msgstr "Dekodavimo modulis (CAM) paruoštas darbui"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "Dekodavimo modulis (CAM)"
|
msgstr "Dekodavimo modulis (CAM)"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Meniu"
|
msgstr "Meniu"
|
||||||
|
|
||||||
@ -1123,6 +1136,9 @@ msgstr "Atidaromas dekodavimo modulio meniu..."
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "Negali atidaryti dekodavimo modulio meniu!"
|
msgstr "Negali atidaryti dekodavimo modulio meniu!"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "Dekodavimo modulis šiuo metu naudojamas - tikrai perkrauti?"
|
msgstr "Dekodavimo modulis šiuo metu naudojamas - tikrai perkrauti?"
|
||||||
|
|
||||||
@ -1216,6 +1232,21 @@ msgstr "Progreso rodymo laikas (s)"
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr "Pristabdyti pakartojimą kai vyksta žymėjimas"
|
msgstr "Pristabdyti pakartojimą kai vyksta žymėjimas"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "Kūrinio ID"
|
msgstr "Kūrinio ID"
|
||||||
|
|
||||||
|
33
po/mk_MK.po
33
po/mk_MK.po
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+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"
|
||||||
@ -20,6 +20,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Невалиден Канал ***"
|
msgstr "*** Невалиден Канал ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "Каналот е недостапен!"
|
msgstr "Каналот е недостапен!"
|
||||||
|
|
||||||
@ -1109,9 +1112,19 @@ msgstr "CAM присутен"
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "CAM спремен"
|
msgstr "CAM спремен"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM"
|
msgstr "CAM"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Мени"
|
msgstr "Мени"
|
||||||
|
|
||||||
@ -1124,6 +1137,9 @@ msgstr "Отварам CAM мени..."
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "Неуспешно отварање на CAM менито!"
|
msgstr "Неуспешно отварање на CAM менито!"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "CAM е во употреба - рестартирај?"
|
msgstr "CAM е во употреба - рестартирај?"
|
||||||
|
|
||||||
@ -1217,6 +1233,21 @@ msgstr "Време на прикажување на прогрес (сек)"
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr "Паузирај репродукција кога се внесува ознака"
|
msgstr "Паузирај репродукција кога се внесува ознака"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "ID на продолжеток"
|
msgstr "ID на продолжеток"
|
||||||
|
|
||||||
|
33
po/nl_NL.po
33
po/nl_NL.po
@ -12,7 +12,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
|
||||||
"PO-Revision-Date: 2008-02-26 17:20+0100\n"
|
"PO-Revision-Date: 2008-02-26 17:20+0100\n"
|
||||||
"Last-Translator: Cedric Dewijs <cedric.dewijs@telfort.nl>\n"
|
"Last-Translator: Cedric Dewijs <cedric.dewijs@telfort.nl>\n"
|
||||||
"Language-Team: Dutch <vdr@linuxtv.org>\n"
|
"Language-Team: Dutch <vdr@linuxtv.org>\n"
|
||||||
@ -24,6 +24,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Ongeldig kanaal ***"
|
msgstr "*** Ongeldig kanaal ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "Kanaal niet beschikbaar"
|
msgstr "Kanaal niet beschikbaar"
|
||||||
|
|
||||||
@ -1113,9 +1116,19 @@ msgstr "CAM aanwezig"
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "CAM gereed"
|
msgstr "CAM gereed"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM"
|
msgstr "CAM"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Menu"
|
msgstr "Menu"
|
||||||
|
|
||||||
@ -1128,6 +1141,9 @@ msgstr "CAM-menu wordt geopend..."
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "Kan CAM-menu niet openen!"
|
msgstr "Kan CAM-menu niet openen!"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "CAM wordt gebruikt - werkelijk herstarten?"
|
msgstr "CAM wordt gebruikt - werkelijk herstarten?"
|
||||||
|
|
||||||
@ -1221,6 +1237,21 @@ msgstr "Verlopen tijd tijd (s)"
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr "Pauzeer wanneer markering wordt geplaatst"
|
msgstr "Pauzeer wanneer markering wordt geplaatst"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "Hervattings ID"
|
msgstr "Hervattings ID"
|
||||||
|
|
||||||
|
33
po/nn_NO.po
33
po/nn_NO.po
@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+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"
|
||||||
@ -20,6 +20,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Ugyldig Kanal! ***"
|
msgstr "*** Ugyldig Kanal! ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1109,9 +1112,19 @@ msgstr ""
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM"
|
msgstr "CAM"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Meny"
|
msgstr "Meny"
|
||||||
|
|
||||||
@ -1124,6 +1137,9 @@ msgstr ""
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1217,6 +1233,21 @@ msgstr ""
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "Resume ID"
|
msgstr "Resume ID"
|
||||||
|
|
||||||
|
33
po/pl_PL.po
33
po/pl_PL.po
@ -9,7 +9,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
|
||||||
"PO-Revision-Date: 2008-03-09 12:59+0100\n"
|
"PO-Revision-Date: 2008-03-09 12:59+0100\n"
|
||||||
"Last-Translator: Marek Nazarko <mnazarko@gmail.com>\n"
|
"Last-Translator: Marek Nazarko <mnazarko@gmail.com>\n"
|
||||||
"Language-Team: Polish <vdr@linuxtv.org>\n"
|
"Language-Team: Polish <vdr@linuxtv.org>\n"
|
||||||
@ -21,6 +21,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Niepoprawny kana³ ***"
|
msgstr "*** Niepoprawny kana³ ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "Kana³ nie jest dostêpny!"
|
msgstr "Kana³ nie jest dostêpny!"
|
||||||
|
|
||||||
@ -1110,9 +1113,19 @@ msgstr "CAM obecny"
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "CAM gotowy"
|
msgstr "CAM gotowy"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM"
|
msgstr "CAM"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Menu"
|
msgstr "Menu"
|
||||||
|
|
||||||
@ -1125,6 +1138,9 @@ msgstr "Otwieram menu CAM..."
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "Nie mo¿na otworzyæ menu CAM!"
|
msgstr "Nie mo¿na otworzyæ menu CAM!"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "CAM jest w u¿yciu - naprawdê zresetowaæ?"
|
msgstr "CAM jest w u¿yciu - naprawdê zresetowaæ?"
|
||||||
|
|
||||||
@ -1218,6 +1234,21 @@ msgstr "Wy
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr "Wstrzymaj odtwarzanie podczas ustawiania zaznaczania"
|
msgstr "Wstrzymaj odtwarzanie podczas ustawiania zaznaczania"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "ID wznowienia"
|
msgstr "ID wznowienia"
|
||||||
|
|
||||||
|
33
po/pt_PT.po
33
po/pt_PT.po
@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+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"
|
||||||
@ -20,6 +20,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Canal inválido ***"
|
msgstr "*** Canal inválido ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "Canal indisponível!"
|
msgstr "Canal indisponível!"
|
||||||
|
|
||||||
@ -1109,9 +1112,19 @@ msgstr "CAM presente"
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "CAM pronta"
|
msgstr "CAM pronta"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM"
|
msgstr "CAM"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Menu"
|
msgstr "Menu"
|
||||||
|
|
||||||
@ -1124,6 +1137,9 @@ msgstr "A abrir menu da CAM..."
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "Impossível abrir menu da CAM!"
|
msgstr "Impossível abrir menu da CAM!"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "CAM em uso - reiniciar mesmo?"
|
msgstr "CAM em uso - reiniciar mesmo?"
|
||||||
|
|
||||||
@ -1217,6 +1233,21 @@ msgstr ""
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "ID de resumo"
|
msgstr "ID de resumo"
|
||||||
|
|
||||||
|
145
po/ro_RO.po
145
po/ro_RO.po
@ -8,19 +8,22 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
|
||||||
"PO-Revision-Date: 2013-02-09 23:01+0100\n"
|
"PO-Revision-Date: 2015-01-21 22:34+0100\n"
|
||||||
"Last-Translator: Lucian Muresan <lucianm@users.sorceforge.net>\n"
|
"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n"
|
||||||
"Language-Team: Romanian <vdr@linuxtv.org>\n"
|
"Language-Team: Romanian <vdr@linuxtv.org>\n"
|
||||||
"Language: ro\n"
|
"Language: ro\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Generator: Poedit 1.5.5\n"
|
"X-Generator: Poedit 1.6.9\n"
|
||||||
|
|
||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Canal invalid ***"
|
msgstr "*** Canal invalid ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "Canal indisponibil"
|
msgstr "Canal indisponibil"
|
||||||
|
|
||||||
@ -79,13 +82,13 @@ msgid "StreamId"
|
|||||||
msgstr "Identificator Stream"
|
msgstr "Identificator Stream"
|
||||||
|
|
||||||
msgid "Pilot"
|
msgid "Pilot"
|
||||||
msgstr ""
|
msgstr "Pilot"
|
||||||
|
|
||||||
msgid "T2SystemId"
|
msgid "T2SystemId"
|
||||||
msgstr ""
|
msgstr "ID sistem T2"
|
||||||
|
|
||||||
msgid "SISO/MISO"
|
msgid "SISO/MISO"
|
||||||
msgstr ""
|
msgstr "SISO/MISO"
|
||||||
|
|
||||||
msgid "Starting EPG scan"
|
msgid "Starting EPG scan"
|
||||||
msgstr "Pornesc achiziţia EPG"
|
msgstr "Pornesc achiziţia EPG"
|
||||||
@ -575,10 +578,10 @@ msgid "Sid"
|
|||||||
msgstr "Sid"
|
msgstr "Sid"
|
||||||
|
|
||||||
msgid "Nid"
|
msgid "Nid"
|
||||||
msgstr ""
|
msgstr "Nid"
|
||||||
|
|
||||||
msgid "Tid"
|
msgid "Tid"
|
||||||
msgstr ""
|
msgstr "Tid"
|
||||||
|
|
||||||
msgid "Channel settings are not unique!"
|
msgid "Channel settings are not unique!"
|
||||||
msgstr "Parametrii canalului nu sunt univoci!"
|
msgstr "Parametrii canalului nu sunt univoci!"
|
||||||
@ -741,71 +744,71 @@ msgid "CAM not responding!"
|
|||||||
msgstr "CAM-ul nu reacţionează!"
|
msgstr "CAM-ul nu reacţionează!"
|
||||||
|
|
||||||
msgid "Edit path"
|
msgid "Edit path"
|
||||||
msgstr ""
|
msgstr "Editează calea"
|
||||||
|
|
||||||
msgid "Folder"
|
msgid "Folder"
|
||||||
msgstr ""
|
msgstr "Director"
|
||||||
|
|
||||||
msgid "This folder is currently in use - no changes are possible!"
|
msgid "This folder is currently in use - no changes are possible!"
|
||||||
msgstr ""
|
msgstr "Acest director tocmai este accesat - nu sunt posibile modificări!"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Move entire folder containing %d recordings?"
|
msgid "Move entire folder containing %d recordings?"
|
||||||
msgstr ""
|
msgstr "Mut întregul director conținând %d înregistrări?"
|
||||||
|
|
||||||
msgid "Error while moving folder!"
|
msgid "Error while moving folder!"
|
||||||
msgstr ""
|
msgstr "Eroare la mutarea directorului!"
|
||||||
|
|
||||||
msgid "Edit recording"
|
msgid "Edit recording"
|
||||||
msgstr ""
|
msgstr "Editează înregistrarea"
|
||||||
|
|
||||||
msgid "This recording is currently in use - no changes are possible!"
|
msgid "This recording is currently in use - no changes are possible!"
|
||||||
msgstr ""
|
msgstr "Această înregistrare tocmai este accesată - nu sunt posibile modificări!"
|
||||||
|
|
||||||
msgid "Button$Cancel cutting"
|
msgid "Button$Cancel cutting"
|
||||||
msgstr ""
|
msgstr "Anulează tăierea"
|
||||||
|
|
||||||
msgid "Button$Stop cutting"
|
msgid "Button$Stop cutting"
|
||||||
msgstr ""
|
msgstr "Oprește tăierea"
|
||||||
|
|
||||||
msgid "Button$Cancel moving"
|
msgid "Button$Cancel moving"
|
||||||
msgstr ""
|
msgstr "Anuleaza mutarea"
|
||||||
|
|
||||||
msgid "Button$Stop moving"
|
msgid "Button$Stop moving"
|
||||||
msgstr ""
|
msgstr "Oprește mutarea"
|
||||||
|
|
||||||
msgid "Button$Cancel copying"
|
msgid "Button$Cancel copying"
|
||||||
msgstr ""
|
msgstr "Anulează copierea"
|
||||||
|
|
||||||
msgid "Button$Stop copying"
|
msgid "Button$Stop copying"
|
||||||
msgstr ""
|
msgstr "Oprește copierea"
|
||||||
|
|
||||||
msgid "Button$Cut"
|
msgid "Button$Cut"
|
||||||
msgstr ""
|
msgstr "Taie"
|
||||||
|
|
||||||
msgid "Button$Delete marks"
|
msgid "Button$Delete marks"
|
||||||
msgstr ""
|
msgstr "Șterge marcajele"
|
||||||
|
|
||||||
msgid "Recording vanished!"
|
msgid "Recording vanished!"
|
||||||
msgstr ""
|
msgstr "Înregistrarea a dispărut!"
|
||||||
|
|
||||||
msgid "Edited version already exists - overwrite?"
|
msgid "Edited version already exists - overwrite?"
|
||||||
msgstr ""
|
msgstr "Deja există o versiune editată - o suprascriu?"
|
||||||
|
|
||||||
msgid "Error while queueing recording for cutting!"
|
msgid "Error while queueing recording for cutting!"
|
||||||
msgstr ""
|
msgstr "Eroare la punerea în coada pentru tăiere!"
|
||||||
|
|
||||||
msgid "Delete editing marks for this recording?"
|
msgid "Delete editing marks for this recording?"
|
||||||
msgstr ""
|
msgstr "Șterg marcajele de editare pentru această înregistrare?"
|
||||||
|
|
||||||
msgid "Error while deleting editing marks!"
|
msgid "Error while deleting editing marks!"
|
||||||
msgstr ""
|
msgstr "Eroare la ștergerea marcajelor de editare!"
|
||||||
|
|
||||||
msgid "Error while changing priority/lifetime!"
|
msgid "Error while changing priority/lifetime!"
|
||||||
msgstr ""
|
msgstr "Eroare la schimbarea priorității/timpului de păstrare!"
|
||||||
|
|
||||||
msgid "Error while changing folder/name!"
|
msgid "Error while changing folder/name!"
|
||||||
msgstr ""
|
msgstr "Eroare la schimbarea directorului/numelui!"
|
||||||
|
|
||||||
msgid "Recording info"
|
msgid "Recording info"
|
||||||
msgstr "Detaliile înregistrării"
|
msgstr "Detaliile înregistrării"
|
||||||
@ -826,7 +829,7 @@ msgid "Delete recording?"
|
|||||||
msgstr "Şterg înregistrarea?"
|
msgstr "Şterg înregistrarea?"
|
||||||
|
|
||||||
msgid "Recording is being edited - really delete?"
|
msgid "Recording is being edited - really delete?"
|
||||||
msgstr "Montajul înregistrării e în curs de desfășurare - șterg totuși?"
|
msgstr "Editarea înregistrării e în curs de desfășurare - șterg totuși?"
|
||||||
|
|
||||||
msgid "Error while deleting recording!"
|
msgid "Error while deleting recording!"
|
||||||
msgstr "Eroare la ştergerea înregistrării!"
|
msgstr "Eroare la ştergerea înregistrării!"
|
||||||
@ -1075,31 +1078,31 @@ msgid "Setup.LNB$own"
|
|||||||
msgstr "propriu"
|
msgstr "propriu"
|
||||||
|
|
||||||
msgid "Setup.LNB$Use dish positioner"
|
msgid "Setup.LNB$Use dish positioner"
|
||||||
msgstr ""
|
msgstr "Folosește actuator de poziționare"
|
||||||
|
|
||||||
msgid "Setup.LNB$Site latitude (degrees)"
|
msgid "Setup.LNB$Site latitude (degrees)"
|
||||||
msgstr ""
|
msgstr "Latitudinea locului (grade)"
|
||||||
|
|
||||||
msgid "South"
|
msgid "South"
|
||||||
msgstr ""
|
msgstr "Sud"
|
||||||
|
|
||||||
msgid "North"
|
msgid "North"
|
||||||
msgstr ""
|
msgstr "Nord"
|
||||||
|
|
||||||
msgid "Setup.LNB$Site longitude (degrees)"
|
msgid "Setup.LNB$Site longitude (degrees)"
|
||||||
msgstr ""
|
msgstr "Longitudinea locului (grade)"
|
||||||
|
|
||||||
msgid "West"
|
msgid "West"
|
||||||
msgstr ""
|
msgstr "Vest"
|
||||||
|
|
||||||
msgid "East"
|
msgid "East"
|
||||||
msgstr ""
|
msgstr "Est"
|
||||||
|
|
||||||
msgid "Setup.LNB$Max. positioner swing (degrees)"
|
msgid "Setup.LNB$Max. positioner swing (degrees)"
|
||||||
msgstr ""
|
msgstr "Unghi maxim al actuatorului (grade)"
|
||||||
|
|
||||||
msgid "Setup.LNB$Positioner speed (degrees/s)"
|
msgid "Setup.LNB$Positioner speed (degrees/s)"
|
||||||
msgstr ""
|
msgstr "Viteza actuatorului (grade/s)"
|
||||||
|
|
||||||
msgid "CAM reset"
|
msgid "CAM reset"
|
||||||
msgstr "Resetare CAM"
|
msgstr "Resetare CAM"
|
||||||
@ -1110,9 +1113,19 @@ msgstr "CAM prezent"
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "CAM pregătit"
|
msgstr "CAM pregătit"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM"
|
msgstr "CAM"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Meniu"
|
msgstr "Meniu"
|
||||||
|
|
||||||
@ -1125,6 +1138,9 @@ msgstr "Deschid meniul CAM..."
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "Nu pot deschide meniul CAM"
|
msgstr "Nu pot deschide meniul CAM"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "CAM-ul este in folosinţă - totuşi resetez?"
|
msgstr "CAM-ul este in folosinţă - totuşi resetez?"
|
||||||
|
|
||||||
@ -1195,7 +1211,7 @@ msgid "Setup.Recording$Max. video file size (MB)"
|
|||||||
msgstr "Dimensiune maximă a fişierului video (MB)"
|
msgstr "Dimensiune maximă a fişierului video (MB)"
|
||||||
|
|
||||||
msgid "Setup.Recording$Split edited files"
|
msgid "Setup.Recording$Split edited files"
|
||||||
msgstr "Separare fişiere montate"
|
msgstr "Separare fişiere editate"
|
||||||
|
|
||||||
msgid "Setup.Recording$Delete timeshift recording"
|
msgid "Setup.Recording$Delete timeshift recording"
|
||||||
msgstr "Şterge înregistrarea pentru vizionare decalată"
|
msgstr "Şterge înregistrarea pentru vizionare decalată"
|
||||||
@ -1216,7 +1232,22 @@ msgid "Setup.Replay$Progress display time (s)"
|
|||||||
msgstr "Durata afișării indicatorului de progres (s) "
|
msgstr "Durata afișării indicatorului de progres (s) "
|
||||||
|
|
||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr "Pauză la punerea marcajului de montaj"
|
msgstr "Pauză la punerea marcajului de editare"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "Identificator continuare"
|
msgstr "Identificator continuare"
|
||||||
@ -1255,10 +1286,10 @@ msgid "Setup.Miscellaneous$Initial volume"
|
|||||||
msgstr "Volumul la pornire"
|
msgstr "Volumul la pornire"
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Volume steps"
|
msgid "Setup.Miscellaneous$Volume steps"
|
||||||
msgstr ""
|
msgstr "Numărul de pași ai reglajului de volum"
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Volume linearize"
|
msgid "Setup.Miscellaneous$Volume linearize"
|
||||||
msgstr ""
|
msgstr "Liniarizează caracteristica de volum"
|
||||||
|
|
||||||
msgid "Setup.Miscellaneous$Channels wrap"
|
msgid "Setup.Miscellaneous$Channels wrap"
|
||||||
msgstr "Lista de canale în buclă"
|
msgstr "Lista de canale în buclă"
|
||||||
@ -1306,13 +1337,13 @@ msgstr "Continuă redarea"
|
|||||||
|
|
||||||
#. TRANSLATORS: note the leading blank!
|
#. TRANSLATORS: note the leading blank!
|
||||||
msgid " Cancel editing"
|
msgid " Cancel editing"
|
||||||
msgstr " Opreşte montajul înregistrării"
|
msgstr " Anulează editarea înregistrării"
|
||||||
|
|
||||||
msgid "Stop recording?"
|
msgid "Stop recording?"
|
||||||
msgstr "Opresc înregistrarea?"
|
msgstr "Opresc înregistrarea?"
|
||||||
|
|
||||||
msgid "Cancel editing?"
|
msgid "Cancel editing?"
|
||||||
msgstr "Opresc montajul înregistrării?"
|
msgstr "Anulez editarea înregistrării?"
|
||||||
|
|
||||||
msgid "No audio available!"
|
msgid "No audio available!"
|
||||||
msgstr "Lipseşte sunetul!"
|
msgstr "Lipseşte sunetul!"
|
||||||
@ -1340,19 +1371,19 @@ msgid "Jump: "
|
|||||||
msgstr "Salt la: "
|
msgstr "Salt la: "
|
||||||
|
|
||||||
msgid "No editing marks defined!"
|
msgid "No editing marks defined!"
|
||||||
msgstr "Nu s-au pus marcaje de montaj pentru această înregistrare"
|
msgstr "Nu s-au pus marcaje de editare pentru această înregistrare"
|
||||||
|
|
||||||
msgid "No editing sequences defined!"
|
msgid "No editing sequences defined!"
|
||||||
msgstr "Nu s-au definit secvențe pentru montaj!"
|
msgstr "Nu s-au definit secvențe pentru editare!"
|
||||||
|
|
||||||
msgid "Can't start editing process!"
|
msgid "Can't start editing process!"
|
||||||
msgstr "Nu pot porni montajul înregistrării!"
|
msgstr "Nu pot porni editarea înregistrării!"
|
||||||
|
|
||||||
msgid "Editing process started"
|
msgid "Editing process started"
|
||||||
msgstr "Montajul înregistrării a început"
|
msgstr "Editarea înregistrării a început"
|
||||||
|
|
||||||
msgid "Editing process already active!"
|
msgid "Editing process already active!"
|
||||||
msgstr "Montajul înregistrării este deja activ!"
|
msgstr "Editarea înregistrării este deja activă!"
|
||||||
|
|
||||||
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
|
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
|
||||||
msgstr " aăâbcdefghiîjklmnopqrsştţuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
|
msgstr " aăâbcdefghiîjklmnopqrsştţuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
|
||||||
@ -1394,7 +1425,7 @@ msgid "Can't shutdown - option '-s' not given!"
|
|||||||
msgstr "Nu pot închide - vezi opţiunea '-s'"
|
msgstr "Nu pot închide - vezi opţiunea '-s'"
|
||||||
|
|
||||||
msgid "Editing - shut down anyway?"
|
msgid "Editing - shut down anyway?"
|
||||||
msgstr "Montajul tocmai se efectuează - închid, totuşi?"
|
msgstr "Editarea tocmai se efectuează - închid, totuşi?"
|
||||||
|
|
||||||
msgid "Recording - shut down anyway?"
|
msgid "Recording - shut down anyway?"
|
||||||
msgstr "Tocmai se înregistrează - închid, totuşi?"
|
msgstr "Tocmai se înregistrează - închid, totuşi?"
|
||||||
@ -1411,7 +1442,7 @@ msgid "Plugin %s wakes up in %ld min, continue?"
|
|||||||
msgstr "Plugin-ul %s se va trezi +n %ld min, continui?"
|
msgstr "Plugin-ul %s se va trezi +n %ld min, continui?"
|
||||||
|
|
||||||
msgid "Editing - restart anyway?"
|
msgid "Editing - restart anyway?"
|
||||||
msgstr "Montajul tocmai se efectuează - repornesc, totuşi?"
|
msgstr "Editarea tocmai se efectuează - repornesc, totuşi?"
|
||||||
|
|
||||||
msgid "Recording - restart anyway?"
|
msgid "Recording - restart anyway?"
|
||||||
msgstr "Tocmai se înregistrează - repornesc, totuşi?"
|
msgstr "Tocmai se înregistrează - repornesc, totuşi?"
|
||||||
@ -1446,7 +1477,7 @@ msgstr "REDARE"
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Moving dish to %.1f..."
|
msgid "Moving dish to %.1f..."
|
||||||
msgstr ""
|
msgstr "Rotesc antena la %.1f..."
|
||||||
|
|
||||||
msgid "ST:TNG Panels"
|
msgid "ST:TNG Panels"
|
||||||
msgstr "Cons. ST:TNG"
|
msgstr "Cons. ST:TNG"
|
||||||
@ -1499,10 +1530,10 @@ msgid "Switching primary DVB..."
|
|||||||
msgstr "Comut dispozitiv DVB primar..."
|
msgstr "Comut dispozitiv DVB primar..."
|
||||||
|
|
||||||
msgid "Editing process failed!"
|
msgid "Editing process failed!"
|
||||||
msgstr "Montajul înregistrării a eşuat"
|
msgstr "Editarea înregistrării a eşuat"
|
||||||
|
|
||||||
msgid "Editing process finished"
|
msgid "Editing process finished"
|
||||||
msgstr "Montajul înregistrării s-a terminat"
|
msgstr "Editarea înregistrării s-a încheiat"
|
||||||
|
|
||||||
msgid "Press any key to cancel restart"
|
msgid "Press any key to cancel restart"
|
||||||
msgstr "Apăsaţi orice tastă pentru a anula repornirea"
|
msgstr "Apăsaţi orice tastă pentru a anula repornirea"
|
||||||
|
33
po/ru_RU.po
33
po/ru_RU.po
@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
|
||||||
"PO-Revision-Date: 2013-03-10 17:13+0100\n"
|
"PO-Revision-Date: 2013-03-10 17:13+0100\n"
|
||||||
"Last-Translator: Oleg Roitburd <oroitburd@gmail.com>\n"
|
"Last-Translator: Oleg Roitburd <oroitburd@gmail.com>\n"
|
||||||
"Language-Team: Russian <vdr@linuxtv.org>\n"
|
"Language-Team: Russian <vdr@linuxtv.org>\n"
|
||||||
@ -20,6 +20,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** ½ÕßàÐÒØÛìÝëÙ ÚÐÝÐÛ ***"
|
msgstr "*** ½ÕßàÐÒØÛìÝëÙ ÚÐÝÐÛ ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "ºÐÝÐÛ ÝÕÔÞáâãßÕÝ!"
|
msgstr "ºÐÝÐÛ ÝÕÔÞáâãßÕÝ!"
|
||||||
|
|
||||||
@ -1109,9 +1112,19 @@ msgstr "CAM
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "CAM ÓÞâÞÒ"
|
msgstr "CAM ÓÞâÞÒ"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "ÃáÛÞÒÝëÙ ÔÞáâãß"
|
msgstr "ÃáÛÞÒÝëÙ ÔÞáâãß"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "¼ÕÝî"
|
msgstr "¼ÕÝî"
|
||||||
|
|
||||||
@ -1124,6 +1137,9 @@ msgstr "
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "¼ÕÝî CAM-ÜÞÔãÛï ÝÕÔÞáâãßÝÞ!"
|
msgstr "¼ÕÝî CAM-ÜÞÔãÛï ÝÕÔÞáâãßÝÞ!"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "CAM ØáßÞÛì×ãÕâáï - ÔÕÙáâÒØâÕÛìÝÞ ßÕàÕÓàã×Øâì?"
|
msgstr "CAM ØáßÞÛì×ãÕâáï - ÔÕÙáâÒØâÕÛìÝÞ ßÕàÕÓàã×Øâì?"
|
||||||
|
|
||||||
@ -1217,6 +1233,21 @@ msgstr "
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr "¿Ðã×Ð ßàØ ãáâÐÝÞÒÚÕ ÜÐàÚØàÞÒÚØ"
|
msgstr "¿Ðã×Ð ßàØ ãáâÐÝÞÒÚÕ ÜÐàÚØàÞÒÚØ"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "ID ÒÞáßàÞØ×ÒÕÔÕÝØï"
|
msgstr "ID ÒÞáßàÞØ×ÒÕÔÕÝØï"
|
||||||
|
|
||||||
|
33
po/sk_SK.po
33
po/sk_SK.po
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
|
||||||
"PO-Revision-Date: 2013-03-04 21:24+0100\n"
|
"PO-Revision-Date: 2013-03-04 21:24+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"
|
||||||
@ -19,6 +19,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Neplatný kanál ***"
|
msgstr "*** Neplatný kanál ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "Kanál nie je dostupný!"
|
msgstr "Kanál nie je dostupný!"
|
||||||
|
|
||||||
@ -1108,9 +1111,19 @@ msgstr "CAM pr
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "CAM pripravený"
|
msgstr "CAM pripravený"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM (modul podmieneného prístupu)"
|
msgstr "CAM (modul podmieneného prístupu)"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Menu"
|
msgstr "Menu"
|
||||||
|
|
||||||
@ -1123,6 +1136,9 @@ msgstr "Otv
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "Menu CAM nie je dostupné"
|
msgstr "Menu CAM nie je dostupné"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "CAM sa pou¾íva - naozaj re¹tartova»?"
|
msgstr "CAM sa pou¾íva - naozaj re¹tartova»?"
|
||||||
|
|
||||||
@ -1216,6 +1232,21 @@ msgstr "Doba zobrazenia ukazovate
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr "Pozastavi» prehrávanie pri stanovení znaèky"
|
msgstr "Pozastavi» prehrávanie pri stanovení znaèky"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "ident. èíslo obnovenia prehrávania"
|
msgstr "ident. èíslo obnovenia prehrávania"
|
||||||
|
|
||||||
|
33
po/sl_SI.po
33
po/sl_SI.po
@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
|
||||||
"PO-Revision-Date: 2013-03-04 12:46+0100\n"
|
"PO-Revision-Date: 2013-03-04 12:46+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"
|
||||||
@ -20,6 +20,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Neznan kanal ***"
|
msgstr "*** Neznan kanal ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "Kanal ni razpolo¾ljiv!"
|
msgstr "Kanal ni razpolo¾ljiv!"
|
||||||
|
|
||||||
@ -1109,9 +1112,19 @@ msgstr "CAM prisoten"
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "CAM pripravljen"
|
msgstr "CAM pripravljen"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM"
|
msgstr "CAM"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Meni"
|
msgstr "Meni"
|
||||||
|
|
||||||
@ -1124,6 +1137,9 @@ msgstr "Odpiram CAM meni..."
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "Ne morem odpreti CAM menija!"
|
msgstr "Ne morem odpreti CAM menija!"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "CAM je v uporabi - zares resetiraj?"
|
msgstr "CAM je v uporabi - zares resetiraj?"
|
||||||
|
|
||||||
@ -1217,6 +1233,21 @@ msgstr "Progresivni
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr "Pavza predvajanja pri postavitvi zanèke"
|
msgstr "Pavza predvajanja pri postavitvi zanèke"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "ID za predvajanje"
|
msgstr "ID za predvajanje"
|
||||||
|
|
||||||
|
33
po/sr_RS.po
33
po/sr_RS.po
@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
|
||||||
"PO-Revision-Date: 2013-03-16 15:05+0100\n"
|
"PO-Revision-Date: 2013-03-16 15:05+0100\n"
|
||||||
"Last-Translator: Zoran Turalija <zoran.turalija@gmail.com>\n"
|
"Last-Translator: Zoran Turalija <zoran.turalija@gmail.com>\n"
|
||||||
"Language-Team: Serbian <vdr@linuxtv.org>\n"
|
"Language-Team: Serbian <vdr@linuxtv.org>\n"
|
||||||
@ -20,6 +20,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Neispravan Kanal ***"
|
msgstr "*** Neispravan Kanal ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "Kanal nije dostupan!"
|
msgstr "Kanal nije dostupan!"
|
||||||
|
|
||||||
@ -1109,9 +1112,19 @@ msgstr "CAM prisutan"
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "CAM spreman"
|
msgstr "CAM spreman"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM"
|
msgstr "CAM"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Meni"
|
msgstr "Meni"
|
||||||
|
|
||||||
@ -1124,6 +1137,9 @@ msgstr "Otvaram CAM meni..."
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "Otvaranje CAM menija neuspe¹no!"
|
msgstr "Otvaranje CAM menija neuspe¹no!"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "CAM u upotrebi - stvarno ponovno pokrenuti?"
|
msgstr "CAM u upotrebi - stvarno ponovno pokrenuti?"
|
||||||
|
|
||||||
@ -1217,6 +1233,21 @@ msgstr "Trajanje prikazivanja progresa (s)"
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr "Pauziraj reprodukciju prilikom obele¾avanja"
|
msgstr "Pauziraj reprodukciju prilikom obele¾avanja"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "ID reprodukcije"
|
msgstr "ID reprodukcije"
|
||||||
|
|
||||||
|
33
po/sv_SE.po
33
po/sv_SE.po
@ -11,7 +11,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
|
||||||
"PO-Revision-Date: 2013-02-18 17:04+0100\n"
|
"PO-Revision-Date: 2013-02-18 17:04+0100\n"
|
||||||
"Last-Translator: Richard Lithvall <r-vdr@boomer.se>\n"
|
"Last-Translator: Richard Lithvall <r-vdr@boomer.se>\n"
|
||||||
"Language-Team: Swedish <vdr@linuxtv.org>\n"
|
"Language-Team: Swedish <vdr@linuxtv.org>\n"
|
||||||
@ -23,6 +23,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Felaktig kanal ***"
|
msgstr "*** Felaktig kanal ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "Kanalen är inte tillgänglig!"
|
msgstr "Kanalen är inte tillgänglig!"
|
||||||
|
|
||||||
@ -1112,9 +1115,19 @@ msgstr "CAM n
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "CAM klar"
|
msgstr "CAM klar"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM"
|
msgstr "CAM"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Meny"
|
msgstr "Meny"
|
||||||
|
|
||||||
@ -1127,6 +1140,9 @@ msgstr "
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "Det går inte att öppna CAM menyn!"
|
msgstr "Det går inte att öppna CAM menyn!"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "CAM upptagen, vill du verkligen återställa?"
|
msgstr "CAM upptagen, vill du verkligen återställa?"
|
||||||
|
|
||||||
@ -1220,6 +1236,21 @@ msgstr "Tid f
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr "Pausa uppspelningen vid sättande av redigeringsmärke"
|
msgstr "Pausa uppspelningen vid sättande av redigeringsmärke"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "Återupptagnings-ID"
|
msgstr "Återupptagnings-ID"
|
||||||
|
|
||||||
|
33
po/tr_TR.po
33
po/tr_TR.po
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+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çen <oktay_73@yahoo.de>\n"
|
"Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n"
|
||||||
"Language-Team: Turkish <vdr@linuxtv.org>\n"
|
"Language-Team: Turkish <vdr@linuxtv.org>\n"
|
||||||
@ -19,6 +19,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Geçersiz kanal ***"
|
msgstr "*** Geçersiz kanal ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "Kanal kullanýlamýyor!"
|
msgstr "Kanal kullanýlamýyor!"
|
||||||
|
|
||||||
@ -1108,9 +1111,19 @@ msgstr "CAM mevcut"
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "CAM hazýr"
|
msgstr "CAM hazýr"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM"
|
msgstr "CAM"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Menü"
|
msgstr "Menü"
|
||||||
|
|
||||||
@ -1123,6 +1136,9 @@ msgstr "CAM men
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "CAM menüsü açýlamýyor!"
|
msgstr "CAM menüsü açýlamýyor!"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "CAM kullanýlýyor - gerçekden sýfýrla?"
|
msgstr "CAM kullanýlýyor - gerçekden sýfýrla?"
|
||||||
|
|
||||||
@ -1216,6 +1232,21 @@ msgstr ""
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "Gösteriþ ID'si"
|
msgstr "Gösteriþ ID'si"
|
||||||
|
|
||||||
|
33
po/uk_UA.po
33
po/uk_UA.po
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
|
||||||
"PO-Revision-Date: 2013-02-09 16:00+0100\n"
|
"PO-Revision-Date: 2013-02-09 16:00+0100\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"
|
||||||
@ -20,6 +20,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "*** Неправильний канал ***"
|
msgstr "*** Неправильний канал ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "Канал недоступний!"
|
msgstr "Канал недоступний!"
|
||||||
|
|
||||||
@ -1109,9 +1112,19 @@ msgstr "CAM присутній"
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "CAM готовий"
|
msgstr "CAM готовий"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM (Умовний доступ)"
|
msgstr "CAM (Умовний доступ)"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "Меню"
|
msgstr "Меню"
|
||||||
|
|
||||||
@ -1124,6 +1137,9 @@ msgstr "Відкривання меню CAM-модуля..."
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "Меню CAM-модуля недоступне!"
|
msgstr "Меню CAM-модуля недоступне!"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "CAM використовується - дійсно перезапустити?"
|
msgstr "CAM використовується - дійсно перезапустити?"
|
||||||
|
|
||||||
@ -1217,6 +1233,21 @@ msgstr "Час показу індикатора (с)"
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr "Пауза програвання при встановленні мітки"
|
msgstr "Пауза програвання при встановленні мітки"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "ID продовження"
|
msgstr "ID продовження"
|
||||||
|
|
||||||
|
33
po/zh_CN.po
33
po/zh_CN.po
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: VDR 2.0.0\n"
|
"Project-Id-Version: VDR 2.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||||
"POT-Creation-Date: 2015-01-12 15:40+0100\n"
|
"POT-Creation-Date: 2015-01-30 13:14+0100\n"
|
||||||
"PO-Revision-Date: 2013-03-04 14:52+0800\n"
|
"PO-Revision-Date: 2013-03-04 14:52+0800\n"
|
||||||
"Last-Translator: NFVDR <nfvdr@live.com>\n"
|
"Last-Translator: NFVDR <nfvdr@live.com>\n"
|
||||||
"Language-Team: Chinese (simplified) <nfvdr@live.com>\n"
|
"Language-Team: Chinese (simplified) <nfvdr@live.com>\n"
|
||||||
@ -21,6 +21,9 @@ msgstr ""
|
|||||||
msgid "*** Invalid Channel ***"
|
msgid "*** Invalid Channel ***"
|
||||||
msgstr "***无效的频道 ***"
|
msgstr "***无效的频道 ***"
|
||||||
|
|
||||||
|
msgid "CAM activated!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Channel not available!"
|
msgid "Channel not available!"
|
||||||
msgstr "频道不可用!"
|
msgstr "频道不可用!"
|
||||||
|
|
||||||
@ -1110,9 +1113,19 @@ msgstr "存在的CAM"
|
|||||||
msgid "CAM ready"
|
msgid "CAM ready"
|
||||||
msgstr "CAM准备"
|
msgstr "CAM准备"
|
||||||
|
|
||||||
|
#. TRANSLATORS: note the leading blank!
|
||||||
|
msgid " (activating)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM"
|
msgid "CAM"
|
||||||
msgstr "CAM设置"
|
msgstr "CAM设置"
|
||||||
|
|
||||||
|
msgid "Button$Cancel activation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Button$Activate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Button$Menu"
|
msgid "Button$Menu"
|
||||||
msgstr "菜单"
|
msgstr "菜单"
|
||||||
|
|
||||||
@ -1125,6 +1138,9 @@ msgstr "打开CAM菜单..."
|
|||||||
msgid "Can't open CAM menu!"
|
msgid "Can't open CAM menu!"
|
||||||
msgstr "不能打开CAM菜单"
|
msgstr "不能打开CAM菜单"
|
||||||
|
|
||||||
|
msgid "Can't activate CAM!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "CAM is in use - really reset?"
|
msgid "CAM is in use - really reset?"
|
||||||
msgstr "CAM正在使用-是否重启?"
|
msgstr "CAM正在使用-是否重启?"
|
||||||
|
|
||||||
@ -1218,6 +1234,21 @@ msgstr "处理显示时间(s)"
|
|||||||
msgid "Setup.Replay$Pause replay when setting mark"
|
msgid "Setup.Replay$Pause replay when setting mark"
|
||||||
msgstr "暂停回放时,设置标志"
|
msgstr "暂停回放时,设置标志"
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay when jumping to a mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Skip edited parts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Pause replay at last mark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip initial value (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Setup.Replay$Binary skip timeout (s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Setup.Replay$Resume ID"
|
msgid "Setup.Replay$Resume ID"
|
||||||
msgstr "恢复 ID"
|
msgstr "恢复 ID"
|
||||||
|
|
||||||
|
10
recording.c
10
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 3.21 2015/01/17 14:52:28 kls Exp $
|
* $Id: recording.c 3.24 2015/01/25 15:39:24 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "recording.h"
|
#include "recording.h"
|
||||||
@ -1749,7 +1749,7 @@ void cDirCopier::Action(void)
|
|||||||
off_t FileSizeSrc = FileSize(FileNameSrc);
|
off_t FileSizeSrc = FileSize(FileNameSrc);
|
||||||
off_t FileSizeDst = FileSize(FileNameDst);
|
off_t FileSizeDst = FileSize(FileNameDst);
|
||||||
if (FileSizeSrc != FileSizeDst) {
|
if (FileSizeSrc != FileSizeDst) {
|
||||||
esyslog("ERROR: file size discrepancy: %"PRId64" != %"PRId64, FileSizeSrc, FileSizeDst);
|
esyslog("ERROR: file size discrepancy: %" PRId64 " != %" PRId64, FileSizeSrc, FileSizeDst);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2072,7 +2072,7 @@ bool cMarks::Load(const char *RecordingFileName, double FramesPerSecond, bool Is
|
|||||||
bool cMarks::Update(void)
|
bool cMarks::Update(void)
|
||||||
{
|
{
|
||||||
time_t t = time(NULL);
|
time_t t = time(NULL);
|
||||||
if (t > nextUpdate) {
|
if (t > nextUpdate && *fileName) {
|
||||||
time_t LastModified = LastModifiedTime(fileName);
|
time_t LastModified = LastModifiedTime(fileName);
|
||||||
if (LastModified != lastFileTime) // change detected, or first run
|
if (LastModified != lastFileTime) // change detected, or first run
|
||||||
lastChange = LastModified > 0 ? LastModified : t;
|
lastChange = LastModified > 0 ? LastModified : t;
|
||||||
@ -2476,7 +2476,7 @@ cIndexFile::cIndexFile(const char *FileName, bool Record, bool IsPesRecording, b
|
|||||||
delta = int(buf.st_size % sizeof(tIndexTs));
|
delta = int(buf.st_size % sizeof(tIndexTs));
|
||||||
if (delta) {
|
if (delta) {
|
||||||
delta = sizeof(tIndexTs) - delta;
|
delta = sizeof(tIndexTs) - delta;
|
||||||
esyslog("ERROR: invalid file size (%"PRId64") in '%s'", buf.st_size, *fileName);
|
esyslog("ERROR: invalid file size (%" PRId64 ") in '%s'", buf.st_size, *fileName);
|
||||||
}
|
}
|
||||||
last = int((buf.st_size + delta) / sizeof(tIndexTs) - 1);
|
last = int((buf.st_size + delta) / sizeof(tIndexTs) - 1);
|
||||||
if ((!Record || Update) && last >= 0) {
|
if ((!Record || Update) && last >= 0) {
|
||||||
@ -2741,7 +2741,7 @@ int cIndexFile::Get(uint16_t FileNumber, off_t FileOffset)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cIndexFile::IsStillRecording()
|
bool cIndexFile::IsStillRecording(void)
|
||||||
{
|
{
|
||||||
return f >= 0;
|
return f >= 0;
|
||||||
}
|
}
|
||||||
|
@ -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 3.5 2015/01/17 14:33:05 kls Exp $
|
* $Id: recording.h 3.6 2015/01/31 13:34:44 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __RECORDING_H
|
#ifndef __RECORDING_H
|
||||||
@ -117,7 +117,6 @@ private:
|
|||||||
static char *StripEpisodeName(char *s, bool Strip);
|
static char *StripEpisodeName(char *s, bool Strip);
|
||||||
char *SortName(void) const;
|
char *SortName(void) const;
|
||||||
void ClearSortName(void);
|
void ClearSortName(void);
|
||||||
int GetResume(void) const;
|
|
||||||
time_t start;
|
time_t start;
|
||||||
int priority;
|
int priority;
|
||||||
int lifetime;
|
int lifetime;
|
||||||
@ -160,6 +159,9 @@ public:
|
|||||||
int FileSizeMB(void) const;
|
int FileSizeMB(void) const;
|
||||||
///< Returns the total file size of this recording (in MB), or -1 if the file
|
///< Returns the total file size of this recording (in MB), or -1 if the file
|
||||||
///< size is unknown.
|
///< size is unknown.
|
||||||
|
int GetResume(void) const;
|
||||||
|
///< Returns the index of the frame where replay of this recording shall
|
||||||
|
///< be resumed, or -1 in case of an error.
|
||||||
bool IsNew(void) const { return GetResume() <= 0; }
|
bool IsNew(void) const { return GetResume() <= 0; }
|
||||||
bool IsEdited(void) const;
|
bool IsEdited(void) const;
|
||||||
bool IsPesRecording(void) const { return isPesRecording; }
|
bool IsPesRecording(void) const { return isPesRecording; }
|
||||||
|
4
remote.c
4
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 3.2 2014/02/15 12:40:39 kls Exp $
|
* $Id: remote.c 3.3 2015/01/20 14:53:57 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "remote.h"
|
#include "remote.h"
|
||||||
@ -124,7 +124,7 @@ bool cRemote::PutMacro(eKeys Key)
|
|||||||
bool cRemote::Put(uint64_t Code, bool Repeat, bool Release)
|
bool cRemote::Put(uint64_t Code, bool Repeat, bool Release)
|
||||||
{
|
{
|
||||||
char buffer[32];
|
char buffer[32];
|
||||||
snprintf(buffer, sizeof(buffer), "%016"PRIX64, Code);
|
snprintf(buffer, sizeof(buffer), "%016" PRIX64, Code);
|
||||||
return Put(buffer, Repeat, Release);
|
return Put(buffer, Repeat, Release);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
22
scr.conf
22
scr.conf
@ -14,11 +14,17 @@
|
|||||||
#
|
#
|
||||||
# Examples:
|
# Examples:
|
||||||
|
|
||||||
# 0 1284
|
# EN50494 & EN50607 ("JESS")
|
||||||
# 1 1400
|
# 0 974
|
||||||
# 2 1516
|
# 1 1076
|
||||||
# 3 1632
|
# 2 1178
|
||||||
# 4 1748
|
# 3 1280
|
||||||
# 5 1864
|
# 4 1382
|
||||||
# 6 1980
|
# 5 1484
|
||||||
# 7 2096
|
# 6 1586
|
||||||
|
# 7 1688
|
||||||
|
# EN50607 ("JESS") only
|
||||||
|
# 8 1790
|
||||||
|
# 9 1892
|
||||||
|
# 10 1994
|
||||||
|
# 11 2096
|
||||||
|
4
vdr.1
4
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 3.3 2015/01/17 14:46:22 kls Exp $
|
.\" $Id: vdr.1 3.4 2015/01/20 15:34:29 kls Exp $
|
||||||
.\"
|
.\"
|
||||||
.TH vdr 1 "31 Mar 2013" "2.0" "Video Disk Recorder"
|
.TH vdr 1 "31 Mar 2013" "2.0" "Video Disk Recorder"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
@ -299,7 +299,7 @@ also be read at program startup to have the full EPG data available immediately.
|
|||||||
If this file is present in the video directory, its last modification time will
|
If this file is present in the video directory, its last modification time will
|
||||||
be used to trigger an update of the list of recordings in the "Recordings" menu.
|
be used to trigger an update of the list of recordings in the "Recordings" menu.
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.BR vdr (5), svdrp(1)
|
.BR vdr (5), svdrpsend (1)
|
||||||
.SH AUTHOR
|
.SH AUTHOR
|
||||||
Written by Klaus Schmidinger, with contributions from many others.
|
Written by Klaus Schmidinger, with contributions from many others.
|
||||||
See the file \fICONTRIBUTORS\fR in the \fBvdr\fR source distribution.
|
See the file \fICONTRIBUTORS\fR in the \fBvdr\fR source distribution.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user