Version 1.7.14

- Fixed handling empty strings in cSource::FromString().
- Assigned the source character 'I' to "IPTV" (suggested by Rolf Ahrenberg).
- Assigned the source character 'V' to "Analog Video" (suggested by Lars Hanisch).
  This obsoletes the ANALOGTV patch.
- Added support for ATSC devices (thanks to Alex Lasnier).
  This obsoletes the ATSC patch.
- The "Source" item in the "Edit channel" menu now wraps around the list of sources
  (suggested by Halim Sahin).
- Fixed editing channel parameters.
- The new setup option "Recording/Delete timeshift recording" controls whether a timeshift
  recording is automatically deleted after viewing it.
  This obsoletes the DELTIMESHIFTREC patch.
  Note that the meaning of the values for this option is different from the DELTIMESHIFTREC
  patch: 0 means timeshift recordings are not automatically deleted (the default behavior
  as in previous versions), while 1 means to ask the user whether the recording shall be
  deleted.
- Added cChannel::IsSourceType() to test if a channel's source is of a given type.
- Changed the polarization characters in cDvbSourceParam::GetOsdItem() to uppercase.
- The full timer file name is now displayed if it ends with "TITLE" or "EPISODE"
  (pointed out by Udo Richter).
- Fixed "attempt to drop wrong frame from ring buffer" when skipping +/- one minute
  during replay.
- The new setup option "Folders in timer menu" controls whether the file names in
  the timer menu are shown with their full folder path.
This commit is contained in:
Klaus Schmidinger 2010-03-14 11:56:00 +01:00
parent 5ce592e54a
commit 1eb12b4973
43 changed files with 667 additions and 200 deletions

View File

@ -1092,6 +1092,7 @@ Rolf Ahrenberg <rahrenbe@cc.hut.fi>
for a patch that was used to implement handling the "parental rating descriptor"
suggesting to add plain text error messages to log entries from cOsd::SetAreas()
for keeping subtitles visible when pausing replay
for suggesting to assign the source character 'I' to "IPTV"
Ralf Klueber <ralf.klueber@vodafone.com>
for reporting a bug in cutting a recording if there is only a single editing mark
@ -1670,6 +1671,8 @@ Udo Richter <udo_richter@gmx.de>
for reporting a problem with cDevice::PlayTsVideo() and cDevice::PlayTsAudio() in
case only part of the buffer has been accepted by the device
for reporting missing defines for large files in the 'newplugin' script
for pointing out that the full timer file name should be displayed if it ends with
"TITLE" or "EPISODE"
Sven Kreiensen <svenk@kammer.uni-hannover.de>
for his help in keeping 'channels.conf.terr' up to date
@ -2388,6 +2391,8 @@ Halim Sahin <halim.sahin@t-online.de>
works if the "EPG scan" is active
for reporting a problem with adding new transponders in case there is only a single
channel in the channel list
for suggesting to make the "Source" item in the "Edit channel" menu wrap around the
list of sources
Denis Knauf <denis.knauf@gmail.com>
for reporting a missing '-' at the next to last line of SVDRP help texts
@ -2568,3 +2573,9 @@ Matti Lehtim
Stephan Austermühle <au@hcsd.de>
for suggesting to flush the file in cSafeFile::Close()
Lars Hanisch <dvb@flensrocker.de>
for suggesting to assign the source character 'V' to "Analog Video"
Alex Lasnier <alex@fepg.org>
for adding tuning support for ATSC devices

29
HISTORY
View File

@ -6317,7 +6317,7 @@ Video Disk Recorder Revision History
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
- Moved the declaration of cMenuCommands to menu.h, so that plugins can use it.
- Added a note to the MANUAL, saying that adding new transponders only works if the
"EPG scan" is active (suggested by Halim Sahim).
"EPG scan" is active (suggested by Halim Sahin).
- Improved handling frames at the beginning and end of a recording in cDvbPlayer for
devices with large buffers (thanks to Reinhard Nissl).
- Implemented cDeviceHook to allow plugins more control over which device can
@ -6383,3 +6383,30 @@ Video Disk Recorder Revision History
- The option "Setup/DVB/Use Dolby Digital" now only controls whether Dolby Digital
tracks appear in the "Audio" menu. Dolby Digital is always recorded.
This obsoletes the DOLBYINREC patch.
2010-03-12: Version 1.7.14
- Fixed handling empty strings in cSource::FromString().
- Assigned the source character 'I' to "IPTV" (suggested by Rolf Ahrenberg).
- Assigned the source character 'V' to "Analog Video" (suggested by Lars Hanisch).
This obsoletes the ANALOGTV patch.
- Added support for ATSC devices (thanks to Alex Lasnier).
This obsoletes the ATSC patch.
- The "Source" item in the "Edit channel" menu now wraps around the list of sources
(suggested by Halim Sahin).
- Fixed editing channel parameters.
- The new setup option "Recording/Delete timeshift recording" controls whether a timeshift
recording is automatically deleted after viewing it.
This obsoletes the DELTIMESHIFTREC patch.
Note that the meaning of the values for this option is different from the DELTIMESHIFTREC
patch: 0 means timeshift recordings are not automatically deleted (the default behavior
as in previous versions), while 1 means to ask the user whether the recording shall be
deleted.
- Added cChannel::IsSourceType() to test if a channel's source is of a given type.
- Changed the polarization characters in cDvbSourceParam::GetOsdItem() to uppercase.
- The full timer file name is now displayed if it ends with "TITLE" or "EPISODE"
(pointed out by Udo Richter).
- Fixed "attempt to drop wrong frame from ring buffer" when skipping +/- one minute
during replay.
- The new setup option "Folders in timer menu" controls whether the file names in
the timer menu are shown with their full folder path.

12
MANUAL
View File

@ -584,6 +584,10 @@ Version 1.6
Turns displaying the Recordings menu as a hierarchical
directory structure on or off.
Folders in timer menu = yes
Controls whether the full folder path is shown in the
"Timers" menu, or just the basic recording name.
EPG:
EPG scan timeout = 5 The time (in hours) of user inactivity after which the
@ -824,6 +828,14 @@ Version 1.6
file (named 00001.ts, 00002.ts, ...) you can set this
option to 'yes'.
Delete timeshift recording = 0
Controls whether a timeshift recording is deleted after
viewing it.
0 = no
1 = confirm
2 = yes
The default is 0.
Replay:
Multi speed mode = no Defines the function of the "Left" and "Right" keys in

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: channels.h 2.8 2010/02/21 14:05:49 kls Exp $
* $Id: channels.h 2.10 2010/03/07 13:47:13 kls Exp $
*/
#ifndef __CHANNELS_H
@ -172,9 +172,11 @@ public:
const char *Parameters(void) const { return parameters; }
const cLinkChannels* LinkChannels(void) const { return linkChannels; }
const cChannel *RefChannel(void) const { return refChannel; }
bool IsAtsc(void) const { return cSource::IsAtsc(source); }
bool IsCable(void) const { return cSource::IsCable(source); }
bool IsSat(void) const { return cSource::IsSat(source); }
bool IsTerr(void) const { return cSource::IsTerr(source); }
bool IsSourceType(char Source) const { return cSource::IsType(source, Source); }
tChannelID GetChannelID(void) const { return tChannelID(source, nid, (nid || tid) ? tid : Transponder(), sid, rid); }
bool HasTimer(void) const;
int Modification(int Mask = CHANNELMOD_ALL);

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: config.c 2.10 2010/01/31 12:36:36 kls Exp $
* $Id: config.c 2.12 2010/03/12 16:41:37 kls Exp $
*/
#include "config.h"
@ -354,6 +354,7 @@ cSetup::cSetup(void)
UseVps = 0;
VpsMargin = 120;
RecordingDirs = 1;
FoldersInTimerMenu = 1;
VideoDisplayFormat = 1;
VideoFormat = 0;
UpdateChannels = 5;
@ -383,6 +384,7 @@ cSetup::cSetup(void)
FontFixSize = 20;
MaxVideoFileSize = MAXVIDEOFILESIZEDEFAULT;
SplitEditedFiles = 0;
DelTimeshiftRec = 0;
MinEventTimeout = 30;
MinUserInactivity = 300;
NextWakeupTime = 0;
@ -542,6 +544,7 @@ bool cSetup::Parse(const char *Name, const char *Value)
else if (!strcasecmp(Name, "UseVps")) UseVps = atoi(Value);
else if (!strcasecmp(Name, "VpsMargin")) VpsMargin = atoi(Value);
else if (!strcasecmp(Name, "RecordingDirs")) RecordingDirs = atoi(Value);
else if (!strcasecmp(Name, "FoldersInTimerMenu")) FoldersInTimerMenu = atoi(Value);
else if (!strcasecmp(Name, "VideoDisplayFormat")) VideoDisplayFormat = atoi(Value);
else if (!strcasecmp(Name, "VideoFormat")) VideoFormat = atoi(Value);
else if (!strcasecmp(Name, "UpdateChannels")) UpdateChannels = atoi(Value);
@ -571,6 +574,7 @@ bool cSetup::Parse(const char *Name, const char *Value)
else if (!strcasecmp(Name, "FontFixSize")) FontFixSize = atoi(Value);
else if (!strcasecmp(Name, "MaxVideoFileSize")) MaxVideoFileSize = atoi(Value);
else if (!strcasecmp(Name, "SplitEditedFiles")) SplitEditedFiles = atoi(Value);
else if (!strcasecmp(Name, "DelTimeshiftRec")) DelTimeshiftRec = atoi(Value);
else if (!strcasecmp(Name, "MinEventTimeout")) MinEventTimeout = atoi(Value);
else if (!strcasecmp(Name, "MinUserInactivity")) MinUserInactivity = atoi(Value);
else if (!strcasecmp(Name, "NextWakeupTime")) NextWakeupTime = atoi(Value);
@ -635,6 +639,7 @@ bool cSetup::Save(void)
Store("UseVps", UseVps);
Store("VpsMargin", VpsMargin);
Store("RecordingDirs", RecordingDirs);
Store("FoldersInTimerMenu", FoldersInTimerMenu);
Store("VideoDisplayFormat", VideoDisplayFormat);
Store("VideoFormat", VideoFormat);
Store("UpdateChannels", UpdateChannels);
@ -664,6 +669,7 @@ bool cSetup::Save(void)
Store("FontFixSize", FontFixSize);
Store("MaxVideoFileSize", MaxVideoFileSize);
Store("SplitEditedFiles", SplitEditedFiles);
Store("DelTimeshiftRec", DelTimeshiftRec);
Store("MinEventTimeout", MinEventTimeout);
Store("MinUserInactivity", MinUserInactivity);
Store("NextWakeupTime", NextWakeupTime);

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: config.h 2.22 2010/02/05 15:38:32 kls Exp $
* $Id: config.h 2.25 2010/03/12 16:02:53 kls Exp $
*/
#ifndef __CONFIG_H
@ -22,13 +22,13 @@
// VDR's own version number:
#define VDRVERSION "1.7.13"
#define VDRVERSNUM 10713 // Version * 10000 + Major * 100 + Minor
#define VDRVERSION "1.7.14"
#define VDRVERSNUM 10714 // Version * 10000 + Major * 100 + Minor
// The plugin API's version number:
#define APIVERSION "1.7.13"
#define APIVERSNUM 10713 // Version * 10000 + Major * 100 + Minor
#define APIVERSION "1.7.14"
#define APIVERSNUM 10714 // Version * 10000 + Major * 100 + Minor
// When loading plugins, VDR searches them by their APIVERSION, which
// may be smaller than VDRVERSION in case there have been no changes to
@ -253,6 +253,7 @@ public:
int UseVps;
int VpsMargin;
int RecordingDirs;
int FoldersInTimerMenu;
int VideoDisplayFormat;
int VideoFormat;
int UpdateChannels;
@ -276,6 +277,7 @@ public:
int FontFixSize;
int MaxVideoFileSize;
int SplitEditedFiles;
int DelTimeshiftRec;
int MinEventTimeout, MinUserInactivity;
time_t NextWakeupTime;
int MultiSpeedMode;

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: dvbdevice.c 2.29 2010/02/21 17:10:35 kls Exp $
* $Id: dvbdevice.c 2.32 2010/03/07 13:58:24 kls Exp $
*/
#include "dvbdevice.h"
@ -27,6 +27,8 @@
#define DVBC_LOCK_TIMEOUT 2000 //ms
#define DVBT_TUNE_TIMEOUT 9000 //ms
#define DVBT_LOCK_TIMEOUT 2000 //ms
#define ATSC_TUNE_TIMEOUT 9000 //ms
#define ATSC_LOCK_TIMEOUT 2000 //ms
// --- DVB Parameter Maps ----------------------------------------------------
@ -184,17 +186,17 @@ cString cDvbTransponderParameters::ToString(char Type) const
char buffer[64];
char *q = buffer;
*q = 0;
ST(" S ") q += sprintf(q, "%c", polarization);
ST(" T") q += PrintParameter(q, 'B', MapToUser(bandwidth, BandwidthValues));
ST("CST") q += PrintParameter(q, 'C', MapToUser(coderateH, CoderateValues));
ST(" T") q += PrintParameter(q, 'D', MapToUser(coderateL, CoderateValues));
ST(" T") q += PrintParameter(q, 'G', MapToUser(guard, GuardValues));
ST("CST") q += PrintParameter(q, 'I', MapToUser(inversion, InversionValues));
ST("CST") q += PrintParameter(q, 'M', MapToUser(modulation, ModulationValues));
ST(" S ") q += PrintParameter(q, 'O', MapToUser(rollOff, RollOffValues));
ST(" S ") q += PrintParameter(q, 'S', MapToUser(system, SystemValues));
ST(" T") q += PrintParameter(q, 'T', MapToUser(transmission, TransmissionValues));
ST(" T") q += PrintParameter(q, 'Y', MapToUser(hierarchy, HierarchyValues));
ST(" S ") q += sprintf(q, "%c", polarization);
ST(" T") q += PrintParameter(q, 'B', MapToUser(bandwidth, BandwidthValues));
ST(" CST") q += PrintParameter(q, 'C', MapToUser(coderateH, CoderateValues));
ST(" T") q += PrintParameter(q, 'D', MapToUser(coderateL, CoderateValues));
ST(" T") q += PrintParameter(q, 'G', MapToUser(guard, GuardValues));
ST("ACST") q += PrintParameter(q, 'I', MapToUser(inversion, InversionValues));
ST("ACST") q += PrintParameter(q, 'M', MapToUser(modulation, ModulationValues));
ST(" S ") q += PrintParameter(q, 'O', MapToUser(rollOff, RollOffValues));
ST(" S ") q += PrintParameter(q, 'S', MapToUser(system, SystemValues));
ST(" T") q += PrintParameter(q, 'T', MapToUser(transmission, TransmissionValues));
ST(" T") q += PrintParameter(q, 'Y', MapToUser(hierarchy, HierarchyValues));
return buffer;
}
@ -486,6 +488,16 @@ bool cDvbTuner::SetFrontend(void)
tuneTimeout = DVBT_TUNE_TIMEOUT;
lockTimeout = DVBT_LOCK_TIMEOUT;
}
else if (frontendType == SYS_ATSC) {
// ATSC
SETCMD(DTV_DELIVERY_SYSTEM, frontendType);
SETCMD(DTV_FREQUENCY, FrequencyToHz(channel.Frequency()));
SETCMD(DTV_INVERSION, dtp.Inversion());
SETCMD(DTV_MODULATION, dtp.Modulation());
tuneTimeout = ATSC_TUNE_TIMEOUT;
lockTimeout = ATSC_LOCK_TIMEOUT;
}
else {
esyslog("ERROR: attempt to set channel with unknown DVB frontend type");
return false;
@ -564,7 +576,7 @@ void cDvbTuner::Action(void)
class cDvbSourceParam : public cSourceParam {
private:
int param;
cChannel data;
int srate;
cDvbTransponderParameters dtp;
public:
cDvbSourceParam(char Source, const char *Description);
@ -577,19 +589,19 @@ cDvbSourceParam::cDvbSourceParam(char Source, const char *Description)
:cSourceParam(Source, Description)
{
param = 0;
srate = 0;
}
void cDvbSourceParam::SetData(cChannel *Channel)
{
data = *Channel;
dtp.Parse(data.Parameters());
srate = Channel->Srate();
dtp.Parse(Channel->Parameters());
param = 0;
}
void cDvbSourceParam::GetData(cChannel *Channel)
{
data.SetTransponderData(Channel->Source(), Channel->Frequency(), data.Srate(), dtp.ToString(Source()), true);
*Channel = data;
Channel->SetTransponderData(Channel->Source(), Channel->Frequency(), srate, dtp.ToString(Source()), true);
}
cOsdItem *cDvbSourceParam::GetOsdItem(void)
@ -598,18 +610,18 @@ cOsdItem *cDvbSourceParam::GetOsdItem(void)
#undef ST
#define ST(s) if (strchr(s, type))
switch (param++) {
case 0: ST(" S ") return new cMenuEditChrItem( tr("Polarization"), &dtp.polarization, "hvlr"); else return GetOsdItem();
case 1: ST(" S ") return new cMenuEditMapItem( tr("System"), &dtp.system, SystemValues); else return GetOsdItem();
case 2: ST("CS ") return new cMenuEditIntItem( tr("Srate"), &data.srate); else return GetOsdItem();
case 3: ST("CST") return new cMenuEditMapItem( tr("Inversion"), &dtp.inversion, InversionValues); else return GetOsdItem();
case 4: ST("CST") return new cMenuEditMapItem( tr("CoderateH"), &dtp.coderateH, CoderateValues); else return GetOsdItem();
case 5: ST(" T") return new cMenuEditMapItem( tr("CoderateL"), &dtp.coderateL, CoderateValues); else return GetOsdItem();
case 6: ST("CST") return new cMenuEditMapItem( tr("Modulation"), &dtp.modulation, ModulationValues); else return GetOsdItem();
case 7: ST(" T") return new cMenuEditMapItem( tr("Bandwidth"), &dtp.bandwidth, BandwidthValues); else return GetOsdItem();
case 8: ST(" T") return new cMenuEditMapItem( tr("Transmission"), &dtp.transmission, TransmissionValues); else return GetOsdItem();
case 9: ST(" T") return new cMenuEditMapItem( tr("Guard"), &dtp.guard, GuardValues); else return GetOsdItem();
case 10: ST(" T") return new cMenuEditMapItem( tr("Hierarchy"), &dtp.hierarchy, HierarchyValues); else return GetOsdItem();
case 11: ST(" S ") return new cMenuEditMapItem( tr("Rolloff"), &dtp.rollOff, RollOffValues); else return GetOsdItem();
case 0: ST(" S ") return new cMenuEditChrItem( tr("Polarization"), &dtp.polarization, "HVLR"); else return GetOsdItem();
case 1: ST(" S ") return new cMenuEditMapItem( tr("System"), &dtp.system, SystemValues); else return GetOsdItem();
case 2: ST(" CS ") return new cMenuEditIntItem( tr("Srate"), &srate); else return GetOsdItem();
case 3: ST("ACST") return new cMenuEditMapItem( tr("Inversion"), &dtp.inversion, InversionValues); else return GetOsdItem();
case 4: ST(" CST") return new cMenuEditMapItem( tr("CoderateH"), &dtp.coderateH, CoderateValues); else return GetOsdItem();
case 5: ST(" T") return new cMenuEditMapItem( tr("CoderateL"), &dtp.coderateL, CoderateValues); else return GetOsdItem();
case 6: ST("ACST") return new cMenuEditMapItem( tr("Modulation"), &dtp.modulation, ModulationValues); else return GetOsdItem();
case 7: ST(" T") return new cMenuEditMapItem( tr("Bandwidth"), &dtp.bandwidth, BandwidthValues); else return GetOsdItem();
case 8: ST(" T") return new cMenuEditMapItem( tr("Transmission"), &dtp.transmission, TransmissionValues); else return GetOsdItem();
case 9: ST(" T") return new cMenuEditMapItem( tr("Guard"), &dtp.guard, GuardValues); else return GetOsdItem();
case 10: ST(" T") return new cMenuEditMapItem( tr("Hierarchy"), &dtp.hierarchy, HierarchyValues); else return GetOsdItem();
case 11: ST(" S ") return new cMenuEditMapItem( tr("Rolloff"), &dtp.rollOff, RollOffValues); else return GetOsdItem();
default: return NULL;
}
return NULL;
@ -745,6 +757,7 @@ bool cDvbDevice::Probe(int Adapter, int Frontend)
bool cDvbDevice::Initialize(void)
{
new cDvbSourceParam('A', "ATSC");
new cDvbSourceParam('C', "DVB-C");
new cDvbSourceParam('S', "DVB-S");
new cDvbSourceParam('T', "DVB-T");
@ -863,6 +876,7 @@ bool cDvbDevice::ProvidesSource(int Source) const
{
int type = Source & cSource::st_Mask;
return type == cSource::stNone
|| type == cSource::stAtsc && (frontendType == SYS_ATSC)
|| type == cSource::stCable && (frontendType == SYS_DVBC_ANNEX_AC || frontendType == SYS_DVBC_ANNEX_B)
|| type == cSource::stSat && (frontendType == SYS_DVBS || frontendType == SYS_DVBS2)
|| type == cSource::stTerr && (frontendType == SYS_DVBT);

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: dvbplayer.c 2.20 2010/02/06 12:34:28 kls Exp $
* $Id: dvbplayer.c 2.21 2010/03/07 14:24:26 kls Exp $
*/
#include "dvbplayer.h"
@ -218,6 +218,7 @@ private:
bool readIndependent;
cFrame *readFrame;
cFrame *playFrame;
cFrame *dropFrame;
void TrickSpeed(int Increment);
void Empty(void);
bool NextFile(uint16_t FileNumber = 0, off_t FileOffset = -1);
@ -266,6 +267,7 @@ cDvbPlayer::cDvbPlayer(const char *FileName)
readIndependent = false;
readFrame = NULL;
playFrame = NULL;
dropFrame = NULL;
isyslog("replay %s", FileName);
fileName = new cFileName(FileName, false, false, isPesRecording);
replayFile = fileName->Open();
@ -322,6 +324,7 @@ void cDvbPlayer::Empty(void)
delete readFrame; // might not have been stored in the buffer in Action()
readFrame = NULL;
playFrame = NULL;
dropFrame = NULL;
ringBuffer->Clear();
ptsIndex.Clear();
DeviceClear();
@ -396,7 +399,6 @@ void cDvbPlayer::Action(void)
uint32_t LastStc = 0;
int LastReadIFrame = -1;
int SwitchToPlayFrame = 0;
cFrame *DropFrame = NULL;
while (Running()) {
if (WaitingForData)
@ -503,10 +505,10 @@ void cDvbPlayer::Action(void)
else
Sleep = true;
if (DropFrame) {
if (!eof || (playDir != pdForward && DropFrame->Index() > 0) || (playDir == pdForward && DropFrame->Index() < readIndex)) {
ringBuffer->Drop(DropFrame); // the very first and last frame are continously repeated to flush data through the device
DropFrame = NULL;
if (dropFrame) {
if (!eof || (playDir != pdForward && dropFrame->Index() > 0) || (playDir == pdForward && dropFrame->Index() < readIndex)) {
ringBuffer->Drop(dropFrame); // the very first and last frame are continously repeated to flush data through the device
dropFrame = NULL;
}
}
@ -554,7 +556,7 @@ void cDvbPlayer::Action(void)
Sleep = true;
}
if (pc <= 0) {
DropFrame = playFrame;
dropFrame = playFrame;
playFrame = NULL;
p = NULL;
}

80
menu.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: menu.c 2.17 2010/02/21 14:09:19 kls Exp $
* $Id: menu.c 2.21 2010/03/12 16:03:07 kls Exp $
*/
#include "menu.h"
@ -160,16 +160,23 @@ eOSState cMenuEditSrcItem::ProcessKey(eKeys Key)
eOSState state = cMenuEditItem::ProcessKey(Key);
if (state == osUnknown) {
if (NORMALKEY(Key) == kLeft) { // TODO might want to increase the delta if repeated quickly?
if (source && source->Prev()) {
source = (cSource *)source->Prev();
bool IsRepeat = Key & k_Repeat;
Key = NORMALKEY(Key);
if (Key == kLeft) { // TODO might want to increase the delta if repeated quickly?
if (source) {
if (source->Prev())
source = (cSource *)source->Prev();
else if (!IsRepeat)
source = Sources.Last();
*value = source->Code();
}
}
else if (NORMALKEY(Key) == kRight) {
else if (Key == kRight) {
if (source) {
if (source->Next())
source = (cSource *)source->Next();
else if (!IsRepeat)
source = Sources.First();
}
else
source = Sources.First();
@ -1045,8 +1052,8 @@ void cMenuTimerItem::Set(void)
strftime(buffer, sizeof(buffer), "%Y%m%d", &tm_r);
day = buffer;
}
const char *File = strrchr(timer->File(), FOLDERDELIMCHAR);
if (File)
const char *File = Setup.FoldersInTimerMenu ? NULL : strrchr(timer->File(), FOLDERDELIMCHAR);
if (File && strcmp(File + 1, TIMERMACRO_TITLE) && strcmp(File + 1, TIMERMACRO_EPISODE))
File++;
else
File = timer->File();
@ -2560,6 +2567,7 @@ void cMenuSetupOSD::Set(void)
Add(new cMenuEditBoolItem(tr("Setup.OSD$Scroll wraps"), &data.MenuScrollWrap));
Add(new cMenuEditBoolItem(tr("Setup.OSD$Menu key closes"), &data.MenuKeyCloses));
Add(new cMenuEditBoolItem(tr("Setup.OSD$Recording directories"), &data.RecordingDirs));
Add(new cMenuEditBoolItem(tr("Setup.OSD$Folders in timer menu"), &data.FoldersInTimerMenu));
SetCurrent(Get(current));
Display();
}
@ -3016,6 +3024,7 @@ eOSState cMenuSetupCAM::ProcessKey(eKeys Key)
class cMenuSetupRecord : public cMenuSetupBase {
private:
const char *pauseKeyHandlingTexts[3];
const char *delTimeshiftRecTexts[3];
public:
cMenuSetupRecord(void);
};
@ -3025,6 +3034,9 @@ cMenuSetupRecord::cMenuSetupRecord(void)
pauseKeyHandlingTexts[0] = tr("do not pause live video");
pauseKeyHandlingTexts[1] = tr("confirm pause live video");
pauseKeyHandlingTexts[2] = tr("pause live video");
delTimeshiftRecTexts[0] = tr("no");
delTimeshiftRecTexts[1] = tr("confirm");
delTimeshiftRecTexts[2] = tr("yes");
SetSection(tr("Recording"));
Add(new cMenuEditIntItem( tr("Setup.Recording$Margin at start (min)"), &data.MarginStart));
Add(new cMenuEditIntItem( tr("Setup.Recording$Margin at stop (min)"), &data.MarginStop));
@ -3042,6 +3054,7 @@ cMenuSetupRecord::cMenuSetupRecord(void)
Add(new cMenuEditIntItem( tr("Setup.Recording$Instant rec. time (min)"), &data.InstantRecordTime, 1, MAXINSTANTRECTIME));
Add(new cMenuEditIntItem( tr("Setup.Recording$Max. video file size (MB)"), &data.MaxVideoFileSize, MINVIDEOFILESIZE, MAXVIDEOFILESIZETS));
Add(new cMenuEditBoolItem(tr("Setup.Recording$Split edited files"), &data.SplitEditedFiles));
Add(new cMenuEditStraItem(tr("Setup.Recording$Delete timeshift recording"),&data.DelTimeshiftRec, 3, delTimeshiftRecTexts));
}
// --- cMenuSetupReplay ------------------------------------------------------
@ -4156,14 +4169,15 @@ bool cRecordControl::GetEvent(void)
return false;
}
void cRecordControl::Stop(void)
void cRecordControl::Stop(bool ExecuteUserCommand)
{
if (timer) {
DELETENULL(recorder);
timer->SetRecording(false);
timer = NULL;
cStatus::MsgRecording(device, NULL, fileName, false);
cRecordingUserCommand::InvokeCommand(RUC_AFTERRECORDING, fileName);
if (ExecuteUserCommand)
cRecordingUserCommand::InvokeCommand(RUC_AFTERRECORDING, fileName);
}
}
@ -4287,10 +4301,12 @@ const char *cRecordControls::GetInstantId(const char *LastInstantId)
cRecordControl *cRecordControls::GetRecordControl(const char *FileName)
{
for (int i = 0; i < MAXRECORDCONTROLS; i++) {
if (RecordControls[i] && strcmp(RecordControls[i]->FileName(), FileName) == 0)
return RecordControls[i];
}
if (FileName) {
for (int i = 0; i < MAXRECORDCONTROLS; i++) {
if (RecordControls[i] && strcmp(RecordControls[i]->FileName(), FileName) == 0)
return RecordControls[i];
}
}
return NULL;
}
@ -4379,6 +4395,38 @@ cReplayControl::~cReplayControl()
currentReplayControl = NULL;
}
void cReplayControl::Stop(void)
{
if (Setup.DelTimeshiftRec && fileName) {
cRecordControl* rc = cRecordControls::GetRecordControl(fileName);
if (rc && rc->InstantId()) {
if (Active()) {
if (Setup.DelTimeshiftRec == 2 || Interface->Confirm(tr("Delete timeshift recording?"))) {
cTimer *timer = rc->Timer();
rc->Stop(false); // don't execute user command
if (timer) {
isyslog("deleting timer %s", *timer->ToDescr());
Timers.Del(timer);
Timers.SetModified();
}
cDvbPlayerControl::Stop();
cRecording *recording = Recordings.GetByName(fileName);;
if (recording) {
if (recording->Delete()) {
Recordings.DelByName(fileName);
ClearLastReplayed(fileName);
}
else
Skins.Message(mtError, tr("Error while deleting recording!"));
}
return;
}
}
}
}
cDvbPlayerControl::Stop();
}
void cReplayControl::SetRecording(const char *FileName, const char *Title)
{
free(fileName);
@ -4759,7 +4807,11 @@ eOSState cReplayControl::ProcessKey(eKeys Key)
else
Show();
break;
case kBack: return osRecordings;
case kBack: if (Setup.DelTimeshiftRec) {
cRecordControl* rc = cRecordControls::GetRecordControl(fileName);
return rc && rc->InstantId() ? osEnd : osRecordings;
}
return osRecordings;
default: return osUnknown;
}
}

5
menu.h
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: menu.h 2.2 2010/02/06 10:17:24 kls Exp $
* $Id: menu.h 2.3 2010/03/06 16:15:59 kls Exp $
*/
#ifndef __MENU_H
@ -226,7 +226,7 @@ public:
virtual ~cRecordControl();
bool Process(time_t t);
cDevice *Device(void) { return device; }
void Stop(void);
void Stop(bool ExecuteUserCommand = true);
const char *InstantId(void) { return instantId; }
const char *FileName(void) { return fileName; }
cTimer *Timer(void) { return timer; }
@ -278,6 +278,7 @@ private:
public:
cReplayControl(void);
virtual ~cReplayControl();
void Stop(void);
virtual cOsdObject *GetInfo(void);
virtual eOSState ProcessKey(eKeys Key);
virtual void Show(void);

25
pat.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: pat.c 2.7 2010/01/01 15:40:05 kls Exp $
* $Id: pat.c 2.8 2010/03/06 12:00:30 kls Exp $
*/
#include "pat.h"
@ -447,6 +447,29 @@ void cPatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
}
}
break;
case 0x81: // STREAMTYPE_USER_PRIVATE
if (Channel->IsAtsc()) { // ATSC AC-3
char lang[MAXLANGCODE1] = { 0 };
SI::Descriptor *d;
for (SI::Loop::Iterator it; (d = stream.streamDescriptors.getNext(it)); ) {
switch (d->getDescriptorTag()) {
case SI::ISO639LanguageDescriptorTag: {
SI::ISO639LanguageDescriptor *ld = (SI::ISO639LanguageDescriptor *)d;
strn0cpy(lang, I18nNormalizeLanguageCode(ld->languageCode), MAXLANGCODE1);
}
break;
default: ;
}
delete d;
}
if (NumDpids < MAXDPIDS) {
Dpids[NumDpids] = esPid;
strn0cpy(DLangs[NumDpids], lang, MAXLANGCODE1);
NumDpids++;
}
ProcessCaDescriptors = true;
}
break;
default: ;//printf("PID: %5d %5d %2d %3d %3d\n", pmt.getServiceId(), stream.getPid(), stream.getStreamType(), pmt.getVersionNumber(), Channel->Number());
}
if (ProcessCaDescriptors) {

View File

@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2008-03-02 19:02+0100\n"
"Last-Translator: Luca Olivetti <luca@ventoso.org>\n"
"Language-Team: Catalanian\n"
@ -836,6 +836,9 @@ msgstr "Tecla menu tanca"
msgid "Setup.OSD$Recording directories"
msgstr "Gravacions en subcarpetes"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "Guia de Programes"
@ -988,6 +991,12 @@ msgstr ""
msgid "pause live video"
msgstr ""
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "sí"
msgid "Recording"
msgstr "Opcions de Gravació"
@ -1039,6 +1048,9 @@ msgstr "Mida m
msgid "Setup.Recording$Split edited files"
msgstr "Separar arxius"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "Opcions de Reproducció"
@ -1156,6 +1168,9 @@ msgstr "No hi ha cap dispositiu DVB lliure per gravar!"
msgid "Pausing live video..."
msgstr "Pausa d'emissió en directe..."
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "Salta a:"
@ -1175,9 +1190,6 @@ msgstr "Proc
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " aàbcçdeéèfghiíjklmnoòpqrstuúvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&·"
msgid "yes"
msgstr "sí"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcáç2\tdefé3\tghií4\tjkl5\tmnoñó6\tpqrs7\ttuvú8\twxyz9"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2008-02-28 15:00+0200\n"
"Last-Translator: Vladimír Bárta <vladimir.barta@k2atmitec.cz>, Jiøí Dobrý <jdobry@centrum.cz>\n"
"Language-Team: Czech\n"
@ -834,6 +834,9 @@ msgstr "Kl
msgid "Setup.OSD$Recording directories"
msgstr "Seznam nahrávek"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "EPG"
@ -986,6 +989,12 @@ msgstr ""
msgid "pause live video"
msgstr ""
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "ano"
msgid "Recording"
msgstr "Nahrávání"
@ -1037,6 +1046,9 @@ msgstr "Maxim
msgid "Setup.Recording$Split edited files"
msgstr "Dìlit editované soubory"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "Pøehrávání"
@ -1154,6 +1166,9 @@ msgstr "
msgid "Pausing live video..."
msgstr "Pøeru¹uje se bì¾ící program ..."
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "Skok: "
@ -1173,9 +1188,6 @@ msgstr "Edita
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " aábcèdïeéìfghiíjklmnòoópqrøs¹t»uúùvwxyýz¾0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "ano"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcáè2\tdefïéì3\tghií4\tjkl5\tmnoòó6\tpqrsø¹7\ttuv»úù8\twxyzý¾9"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n"
"Language-Team: Danish\n"
@ -833,6 +833,9 @@ msgstr "Menu taste lukker"
msgid "Setup.OSD$Recording directories"
msgstr "Optagelser i foldere"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "EPG"
@ -985,6 +988,12 @@ msgstr ""
msgid "pause live video"
msgstr ""
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "ja"
msgid "Recording"
msgstr "Optagelse"
@ -1036,6 +1045,9 @@ msgstr "Max. video filst
msgid "Setup.Recording$Split edited files"
msgstr "Opdel redigerede filer"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "Afspilning"
@ -1153,6 +1165,9 @@ msgstr "Ingen fri DVB enhed til optagelse!"
msgid "Pausing live video..."
msgstr "Pausere live udsendelse..."
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "Hop: "
@ -1172,9 +1187,6 @@ msgstr "Redigeringsproces er allerede aktiv!"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrstuvwxyzæøå0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "ja"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcæå2\tdef3\tghi4\tjkl5\tmnoø6\tpqrs7\ttuv8\twxyz9"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2010-01-16 16:46+0100\n"
"Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n"
"Language-Team: German\n"
@ -595,7 +595,7 @@ msgstr "Unterverzeichnis"
msgid "Folder name already exists!"
msgstr "Verzeichnisname existiert bereits!"
#, fuzzy, c-format
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr "Verzeichnisname darf kein '%c' enthalten!"
@ -833,6 +833,9 @@ msgstr "Menu-Taste schlie
msgid "Setup.OSD$Recording directories"
msgstr "Aufnahmeverzeichnisse"
msgid "Setup.OSD$Folders in timer menu"
msgstr "Verzeichnisse im Timer-Menü"
msgid "EPG"
msgstr "EPG"
@ -985,6 +988,12 @@ msgstr "Anhalten des Live-Signals best
msgid "pause live video"
msgstr "Live-Signal anhalten"
msgid "confirm"
msgstr "bestätigen"
msgid "yes"
msgstr "ja"
msgid "Recording"
msgstr "Aufnahme"
@ -1036,6 +1045,9 @@ msgstr "Max. Videodateigr
msgid "Setup.Recording$Split edited files"
msgstr "Editierte Dateien aufteilen"
msgid "Setup.Recording$Delete timeshift recording"
msgstr "Zeitversetzte Aufnahme löschen"
msgid "Replay"
msgstr "Wiedergabe"
@ -1153,6 +1165,9 @@ msgstr "Keine freie DVB-Karte zum Aufnehmen!"
msgid "Pausing live video..."
msgstr "Live-Signal wird angehalten..."
msgid "Delete timeshift recording?"
msgstr "Zeitversetzte Aufnahme löschen?"
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "Springen: "
@ -1172,9 +1187,6 @@ msgstr "Schnitt bereits aktiv!"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " aäbcdefghijklmnoöpqrsßtuüvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "ja"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcä2\tdef3\tghi4\tjkl5\tmnoö6\tpqrsß7\ttuvü8\twxyz9"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n"
"Language-Team: Greek\n"
@ -833,6 +833,9 @@ msgstr ""
msgid "Setup.OSD$Recording directories"
msgstr "ÖÜêåëïé åããñáöþí"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "Çëåêôñïíéêüò ïäçãüò ðñïãñÜììáôïò"
@ -985,6 +988,12 @@ msgstr ""
msgid "pause live video"
msgstr ""
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "íáß"
msgid "Recording"
msgstr "ÅããñáöÞ"
@ -1036,6 +1045,9 @@ msgstr "
msgid "Setup.Recording$Split edited files"
msgstr "ÄéáìÝëéóìüò åðåîåñãáóìÝíùí áñ÷åßùí"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "ÁíáðáñáãùãÞ"
@ -1153,6 +1165,9 @@ msgstr "
msgid "Pausing live video..."
msgstr "ÐÜãùìá æùíôáíïý óÞìáôïò"
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "ÔïðïèÝôçóç: "
@ -1172,9 +1187,6 @@ msgstr "
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " áÜâãäåÝæçÞèéßêëìíîïüðñóòôõýö÷øùþ0123456789-.,#~\\^$[]|()*+?{}/:%@&abcdefghijklmnopqrstuvwxyz"
msgid "yes"
msgstr "íáß"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2008-03-02 19:02+0100\n"
"Last-Translator: Luca Olivetti <luca@ventoso.org>\n"
"Language-Team: Spanish\n"
@ -834,6 +834,9 @@ msgstr "Cerrar al pulsar bot
msgid "Setup.OSD$Recording directories"
msgstr "Mostrar directorios de grabaciones"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "Guía de Programación"
@ -986,6 +989,12 @@ msgstr ""
msgid "pause live video"
msgstr ""
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "sí"
msgid "Recording"
msgstr "Opciones de grabación"
@ -1037,6 +1046,9 @@ msgstr "Tama
msgid "Setup.Recording$Split edited files"
msgstr "Partir ficheros editados"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "Opciones de reproducción"
@ -1154,6 +1166,9 @@ msgstr "
msgid "Pausing live video..."
msgstr "Pausa de la emisión en directo..."
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "Saltar: "
@ -1173,9 +1188,6 @@ msgstr "
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " aábcçdeéfghiíjklmnñoópqrstuúvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "sí"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcáç2\tdefé3\tghií4\tjkl5\tmnoñó6\tpqrs7\ttuvú8\twxyz9"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Arthur Konovalov <artlov@gmail.com>\n"
"Language-Team: Estonian\n"
@ -833,6 +833,9 @@ msgstr "Sulgemine Men
msgid "Setup.OSD$Recording directories"
msgstr "Kausta nime salvestamine"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "EPG"
@ -985,6 +988,12 @@ msgstr "peatam. kinnitus"
msgid "pause live video"
msgstr "peatada"
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "jah"
msgid "Recording"
msgstr "Salvestamine"
@ -1036,6 +1045,9 @@ msgstr "Maks. failisuurus (MB)"
msgid "Setup.Recording$Split edited files"
msgstr "Failide jupitamine"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "Taasesitus"
@ -1153,6 +1165,9 @@ msgstr "Puudub vaba DVB seade salvestamiseks!"
msgid "Pausing live video..."
msgstr "Otseülekande peatamine..."
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "Hüpe: "
@ -1172,9 +1187,6 @@ msgstr "Redigeerimine juba aktiivne!"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrsðzþtuvwõäöüxy0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "jah"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcä2\tdef3\tghi4\tjkl5\tmnoõö6\tpqrsð7\ttuvü8\twxyzþ9"

View File

@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2007-08-15 15:52+0200\n"
"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
"Language-Team: Finnish\n"
@ -836,6 +836,9 @@ msgstr "Sulje valikkon
msgid "Setup.OSD$Recording directories"
msgstr "Näytä tallennehakemistot"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "Ohjelmaopas"
@ -988,6 +991,12 @@ msgstr "varmista l
msgid "pause live video"
msgstr "pysäytä lähetys"
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "kyllä"
msgid "Recording"
msgstr "Tallennus"
@ -1039,6 +1048,9 @@ msgstr "Suurin tiedostokoko (Mt)"
msgid "Setup.Recording$Split edited files"
msgstr "Jaottele muokatut tallenteet"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "Toisto"
@ -1156,6 +1168,9 @@ msgstr "Ei vapaata DVB-viritint
msgid "Pausing live video..."
msgstr "Pysäytetään lähetys..."
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "Siirry: "
@ -1175,9 +1190,6 @@ msgstr "Muokkaus on jo k
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrstuvwxyzåäö0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "kyllä"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcäå2\tdef3\tghi4\tjkl5\tmnoö6\tpqrs7\ttuv8\twxyz9"

View File

@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2008-02-27 18:14+0100\n"
"Last-Translator: Jean-Claude Repetto <jc@repetto.org>\n"
"Language-Team: French\n"
@ -839,6 +839,9 @@ msgstr "Menu bouton ferm
msgid "Setup.OSD$Recording directories"
msgstr "Dossiers d'enregistrements"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "Guide des programmes"
@ -991,6 +994,12 @@ msgstr ""
msgid "pause live video"
msgstr ""
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "oui"
msgid "Recording"
msgstr "Enregistrement"
@ -1042,6 +1051,9 @@ msgstr "Taille maxi des fichiers (Mo)"
msgid "Setup.Recording$Split edited files"
msgstr "Séparer les séquences éditées"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "Lecture"
@ -1159,6 +1171,9 @@ msgstr "Pas de carte DVB disponible pour l'enregistrement !"
msgid "Pausing live video..."
msgstr "Pause de l'émission en direct..."
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "Accès direct : "
@ -1178,9 +1193,6 @@ msgstr "Montage d
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " aàbcçdeéèêfghiîjklmnoôpqrstuùûvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "oui"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcàâç2\tdeféèê3\tghiîï4\tjkl5\tmnoô6\tpqrs7\ttuvù8\twxyz9"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2008-03-17 19:00+0100\n"
"Last-Translator: Adrian Caval <anrxc@sysphere.org>\n"
"Language-Team: Croatian\n"
@ -835,6 +835,9 @@ msgstr "Tipka Izbornik zatvara"
msgid "Setup.OSD$Recording directories"
msgstr "Imenik za snimke"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "EPG (elektronski programski vodiè)"
@ -987,6 +990,12 @@ msgstr ""
msgid "pause live video"
msgstr ""
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "da"
msgid "Recording"
msgstr "Snimanje"
@ -1038,6 +1047,9 @@ msgstr "Maksimalna veli
msgid "Setup.Recording$Split edited files"
msgstr "Podijeli ureðene datoteke"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "Reprodukcija"
@ -1155,6 +1167,9 @@ msgstr "Nema slobodnog DVB ure
msgid "Pausing live video..."
msgstr "Zaustavljanje izravnog prijenosa..."
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "Skoèi: "
@ -1174,9 +1189,6 @@ msgstr "Ure
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr "abcèædðefghijklmnopqrs¹tuvwxyz¾0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "da"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr "0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"

View File

@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2007-12-01 21:42+0200\n"
"Last-Translator: István Füley <ifuley@tigercomp.ro>\n"
"Language-Team: Hungarian\n"
@ -836,6 +836,9 @@ msgstr "A men
msgid "Setup.OSD$Recording directories"
msgstr "Felvételek listája"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "EPG"
@ -988,6 +991,12 @@ msgstr ""
msgid "pause live video"
msgstr ""
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "igen"
msgid "Recording"
msgstr "Felvétel"
@ -1039,6 +1048,9 @@ msgstr "Max. video File-terjedelem (MB)"
msgid "Setup.Recording$Split edited files"
msgstr "Feldolgozott File-k felosztása"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "Lejátszás"
@ -1156,6 +1168,9 @@ msgstr "Nincs szabad DVB k
msgid "Pausing live video..."
msgstr "Az élõ adás megállítva..."
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "Ugrás: "
@ -1175,9 +1190,6 @@ msgstr "A v
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " aábcdeéfghiíjklmnoóöõpqrstuúüûvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "igen"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\taábc2\tdeéf3\tghií4\tjkl5\tmnoóöõ6\tpqrs7\ttuúüûv8\twxyz9"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2010-01-31 23:06+0100\n"
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: Italian\n"
@ -840,6 +840,9 @@ msgstr "Tasto Menu per chiudere"
msgid "Setup.OSD$Recording directories"
msgstr "Directory di registrazione"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "Guida programmi EPG"
@ -992,6 +995,12 @@ msgstr "conferma pausa video dal vivo"
msgid "pause live video"
msgstr "pausa video dal vivo"
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "sì"
msgid "Recording"
msgstr "Registrazione"
@ -1043,6 +1052,9 @@ msgstr "Dim. massima file video (MB)"
msgid "Setup.Recording$Split edited files"
msgstr "Dividi i file modificati"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "Riproduzione"
@ -1160,6 +1172,9 @@ msgstr "Nessuna periferica DVB disponibile per registrare!"
msgid "Pausing live video..."
msgstr "Pausa del canale in visione..."
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "Vai a: "
@ -1179,9 +1194,6 @@ msgstr "Processo di modifica già attivo!"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " aáàbcdeéèfghiìîjklmnoòpqrstuùvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&°"
msgid "yes"
msgstr "sì"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.,1#~\\^$[]|()*+°?{}/:%@&\taàbc2\tdeèf3\tghiì4\tjkl5\tmnoò6\tpqrs7\ttuùv8\twxyz9"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.7.12\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-17 16:18+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2010-02-22 18:05+0200\n"
"Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n"
"Language-Team: Lithuanian\n"
@ -833,6 +833,9 @@ msgstr "Uždaryti Meniu mygtuku"
msgid "Setup.OSD$Recording directories"
msgstr "Įrašų katalogai"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "Elektroninis programų gidas (EPG)"
@ -985,6 +988,12 @@ msgstr "patvirtinti 'gyvo' video srauto pristabdymą"
msgid "pause live video"
msgstr "pristabdyti 'gyvą' video srautą"
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "taip"
msgid "Recording"
msgstr "Įrašymas"
@ -1036,6 +1045,9 @@ msgstr "Maks. video failo dydis (MB)"
msgid "Setup.Recording$Split edited files"
msgstr "Suskaidyti koreguotus failus"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "Pakartoti"
@ -1153,6 +1165,9 @@ msgstr "Nėra laisvų DVB įrenginių, kad būtų galima įrašinėti!"
msgid "Pausing live video..."
msgstr "Sustabdomas 'gyvo' video grojimas..."
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "Peršokti: "
@ -1172,9 +1187,6 @@ msgstr "Koregavimo procesas jau aktyvus!"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " aąbcčdeęėfghiįjklmnopqrsštuųūvwxyzž0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "taip"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\taąbcč2\tdeęėf3\tghiį4\tjkl5\tmno6\tpqrsš7\ttuųūv8\twxyzž9"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2008-02-26 17:20+0100\n"
"Last-Translator: Johan Schuring <johan.schuring@vetteblei.nl>\n"
"Language-Team: Dutch\n"
@ -837,6 +837,9 @@ msgstr "Menu toets sluit ook af"
msgid "Setup.OSD$Recording directories"
msgstr "Opname mappen"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "EPG"
@ -989,6 +992,12 @@ msgstr ""
msgid "pause live video"
msgstr ""
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "ja"
msgid "Recording"
msgstr "Opname"
@ -1040,6 +1049,9 @@ msgstr "Maximale omvang video file (MB)"
msgid "Setup.Recording$Split edited files"
msgstr "Bewerkte files opdelen"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "Afspelen"
@ -1157,6 +1169,9 @@ msgstr "Geen vrije DVB kaart om op te nemen!"
msgid "Pausing live video..."
msgstr "Pauzeren live uitzending..."
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "Springen: "
@ -1176,9 +1191,6 @@ msgstr "Bewerken is al actief!"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "ja"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Truls Slevigen <truls@slevigen.no>\n"
"Language-Team: Norwegian\n"
@ -834,6 +834,9 @@ msgstr ""
msgid "Setup.OSD$Recording directories"
msgstr "Kataloger til opptak"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "Programoversikt"
@ -986,6 +989,12 @@ msgstr ""
msgid "pause live video"
msgstr ""
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "ja"
msgid "Recording"
msgstr "Opptak"
@ -1037,6 +1046,9 @@ msgstr "Maksimal st
msgid "Setup.Recording$Split edited files"
msgstr "Splitt redigerte filer"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "Spill av"
@ -1154,6 +1166,9 @@ msgstr "Ingen ledige DVB enheter for opptak!"
msgid "Pausing live video..."
msgstr ""
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "Hopp: "
@ -1173,9 +1188,6 @@ msgstr "Redigeringsprosessen er allerede aktiv!"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr ""
msgid "yes"
msgstr "ja"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2008-03-09 12:59+0100\n"
"Last-Translator: Michael Rakowski <mrak@gmx.de>\n"
"Language-Team: Polish\n"
@ -834,6 +834,9 @@ msgstr "Przycisk Menu zamyka"
msgid "Setup.OSD$Recording directories"
msgstr "Katalogi nagrañ"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "EPG"
@ -986,6 +989,12 @@ msgstr ""
msgid "pause live video"
msgstr ""
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "tak"
msgid "Recording"
msgstr "Nagranie"
@ -1037,6 +1046,9 @@ msgstr "Maksymalny rozmiar pliku (MB)"
msgid "Setup.Recording$Split edited files"
msgstr "Dziel edytowane pliki"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "Odtwarzanie"
@ -1154,6 +1166,9 @@ msgstr "Brak wolnej karty DVB do nagrywania!"
msgid "Pausing live video..."
msgstr "Pauzujê program na ¿ywo..."
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "Skok: "
@ -1173,9 +1188,6 @@ msgstr "Proces edycji jest ju
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " a±bcædeêfghijkl³mnñoópqrs¶tuvwxyz¼¿0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "tak"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2±æ\tdef3ê\tghi4\tjkl5³\tmno6ñó\tpqrs7¶\ttuv8\twxyz9¼¿"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2008-03-18 17:04+0100\n"
"Last-Translator: anonymous\n"
"Language-Team: Portuguese\n"
@ -833,6 +833,9 @@ msgstr "Tecla Menu fecha"
msgid "Setup.OSD$Recording directories"
msgstr "Directorias de gravação"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "Guia de programação"
@ -985,6 +988,12 @@ msgstr ""
msgid "pause live video"
msgstr ""
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "sim"
msgid "Recording"
msgstr "Opções de gravação"
@ -1036,6 +1045,9 @@ msgstr "Tamanho m
msgid "Setup.Recording$Split edited files"
msgstr "Dividir ficheiros editados"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "Opções de reprodução"
@ -1153,6 +1165,9 @@ msgstr "Nenhuma placa DVB disponivel para gravar!"
msgid "Pausing live video..."
msgstr "Video em directo em pausa..."
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "Saltar: "
@ -1172,9 +1187,6 @@ msgstr "Processo de edi
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "sim"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.7.12\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2010-02-11 13:38+0100\n"
"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n"
"Language-Team: Romanian\n"
@ -836,6 +836,9 @@ msgstr "Tasta 'Meniu'
msgid "Setup.OSD$Recording directories"
msgstr "Directoare înregistrãri"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "EPG"
@ -988,6 +991,12 @@ msgstr "confirm
msgid "pause live video"
msgstr "înregistreazã emisiunea"
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "da"
msgid "Recording"
msgstr "Înregistrare"
@ -1039,6 +1048,9 @@ msgstr "Dimensiune maxim
msgid "Setup.Recording$Split edited files"
msgstr "Separare fiºiere montate"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "Redare"
@ -1156,6 +1168,9 @@ msgstr "Nu mai sunt dispozitive DVB disponibile pentru
msgid "Pausing live video..."
msgstr "Trec în pauzã emisiunea transmisã..."
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "Salt la: "
@ -1175,9 +1190,6 @@ msgstr "Montajul
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " aãâbcdefghiîjklmnopqrsºtþuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "da"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\taãâbc2\tdef3\tghiî4\tjkl5\tmno6\tpqrsº7\ttþuv8\twxyz9"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2008-12-15 14:37+0100\n"
"Last-Translator: Oleg Roitburd <oleg@roitburd.de>\n"
"Language-Team: Russian\n"
@ -834,6 +834,9 @@ msgstr "
msgid "Setup.OSD$Recording directories"
msgstr "ºÐâÐÛÞÓØ åàÐÝÕÝØï ×ÐßØáÕÙ"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "ÂÕÛÕÓØÔ"
@ -986,6 +989,12 @@ msgstr ""
msgid "pause live video"
msgstr ""
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "ÔÐ"
msgid "Recording"
msgstr "·ÐßØáì"
@ -1037,6 +1046,9 @@ msgstr "
msgid "Setup.Recording$Split edited files"
msgstr "´ÕÛØâì ÞâàÕÔÐÚâØàÞÒÐÝÝëÕ äÐÙÛë"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "²ÞáßàÞØ×ÒÕÔÕÝØÕ"
@ -1154,6 +1166,9 @@ msgstr "
msgid "Pausing live video..."
msgstr "ÀÕÖØÜ ÞâÛÞÖÕÝÝÞÓÞ ßàÞáÜÞâàÐ..."
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "¿ÕàÕÙâØ: "
@ -1173,9 +1188,6 @@ msgstr "
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrstuvwxyzÐÑÒÓÔÕñÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìîï0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "ÔÐ"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcÐÑÒÓ2\tdefÔÕñÖ×3\tghiØÙÚÛ4\tjklÜÝÞ5\tmnoßàá6\tpqrsâãäå7\ttuvæçèéê8\twxyzëìíîï9"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2009-09-30 12:50+0100\n"
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
"Language-Team: Slovak\n"
@ -834,6 +834,9 @@ msgstr "Kl
msgid "Setup.OSD$Recording directories"
msgstr "Zoznam záznamov"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "EPG"
@ -986,6 +989,12 @@ msgstr "Potrdi
msgid "pause live video"
msgstr "Preru¹i» ¾ivé vysielanie"
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "áno"
msgid "Recording"
msgstr "Nahrávanie"
@ -1037,6 +1046,9 @@ msgstr "Maxim
msgid "Setup.Recording$Split edited files"
msgstr "Deli» upravované súbory"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "Prehrávanie"
@ -1154,6 +1166,9 @@ msgstr "
msgid "Pausing live video..."
msgstr "Preru¹uje sa be¾iaci program ..."
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "Skok: "
@ -1173,9 +1188,6 @@ msgstr "Spracovanie
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " aáäbcèdïeéfghiíjklåµmnòoóôpqràs¹t»uúvwxyýz¾0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "áno"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcáè2\tdefïéì3\tghií4\tjkl5\tmnoòó6\tpqrsø¹7\ttuv»úù8\twxyzý¾9"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2008-02-28 19:44+0100\n"
"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n"
"Language-Team: Slovenian\n"
@ -834,6 +834,9 @@ msgstr "Meni gumb zapre meni"
msgid "Setup.OSD$Recording directories"
msgstr "Direktoriji za posnetke"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "Programski vodnik"
@ -986,6 +989,12 @@ msgstr ""
msgid "pause live video"
msgstr ""
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "da"
msgid "Recording"
msgstr "Snemanje"
@ -1037,6 +1046,9 @@ msgstr "Najve
msgid "Setup.Recording$Split edited files"
msgstr "Razdeli urejene datoteke"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "Predvajanje"
@ -1154,6 +1166,9 @@ msgstr "Ni proste DVB naprave za snemanje!"
msgid "Pausing live video..."
msgstr "Ustavljanje predvajanja v ¾ivo..."
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "Skoèi: "
@ -1173,9 +1188,6 @@ msgstr "Urejanje je
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcèdefghijklmnopqrs¹tuvwxyz¾0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "da"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcè2\tdef3\tghi4\tjkl5\tmno6\tpqrs¹7\ttuv8\twxyz¾9"

View File

@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2008-03-12 18:25+0100\n"
"Last-Translator: Magnus Andersson <svankan@bahnhof.se>\n"
"Language-Team: Swedish\n"
@ -836,6 +836,9 @@ msgstr "Menyknappen st
msgid "Setup.OSD$Recording directories"
msgstr "Kataloger för inspelningar"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "EPG"
@ -988,6 +991,12 @@ msgstr ""
msgid "pause live video"
msgstr ""
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "ja"
msgid "Recording"
msgstr "Inspelning"
@ -1039,6 +1048,9 @@ msgstr "Maximal filstorlek f
msgid "Setup.Recording$Split edited files"
msgstr "Dela upp redigerade filer"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "Uppspelning"
@ -1156,6 +1168,9 @@ msgstr "Det finns ingen ledig DVB enhet f
msgid "Pausing live video..."
msgstr "Pausar direktinspelningen"
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "Hopp: "
@ -1175,9 +1190,6 @@ msgstr "Redigeringen
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrstuvwxyzåäö0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "ja"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcåä2\tdef3\tghi4\tjkl5\tmnoö6\tpqrs7\ttuv8\twxyz"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2008-02-28 00:33+0100\n"
"Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n"
"Language-Team: Turkish\n"
@ -833,6 +833,9 @@ msgstr "Men
msgid "Setup.OSD$Recording directories"
msgstr "Kayýt dizinleri"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "EPG"
@ -985,6 +988,12 @@ msgstr ""
msgid "pause live video"
msgstr ""
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "evet"
msgid "Recording"
msgstr "Kayýt"
@ -1036,6 +1045,9 @@ msgstr "Maksimum Video k
msgid "Setup.Recording$Split edited files"
msgstr "Düzenlenmiþ kütükleri ayýr"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "Tekrar"
@ -1153,6 +1165,9 @@ msgstr "Kullan
msgid "Pausing live video..."
msgstr "Naklen yayýn duraklatýlýyor..."
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "Atla: "
@ -1172,9 +1187,6 @@ msgstr "Kesim hen
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcçdefgðhýijklmnoöprsþtuüvyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "evet"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabcç2\tdef3\tgðhýi4\tjkl5\tmnoö6\tprsþ7\ttuüv8\tyz9"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.7.7\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2009-05-31 13:17+0200\n"
"Last-Translator: Yarema aka Knedlyk <yupadmin@gmail.com>\n"
"Language-Team: Ukrainian\n"
@ -833,6 +833,9 @@ msgstr "Кнопку Меню закрити"
msgid "Setup.OSD$Recording directories"
msgstr "Каталоги зберігання записів"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "Телегід"
@ -985,6 +988,12 @@ msgstr "підтвердити призупинення перегляду"
msgid "pause live video"
msgstr "призупинити перегляд"
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "так"
msgid "Recording"
msgstr "Запис"
@ -1036,6 +1045,9 @@ msgstr "Макс. размір відеофайлу (Мб)"
msgid "Setup.Recording$Split edited files"
msgstr "Ділити відредаговані файли"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "Перегляд"
@ -1153,6 +1165,9 @@ msgstr "Немає вільного DVB-пристрою для запису!"
msgid "Pausing live video..."
msgstr "Режим відкладеного перегляду..."
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "Перейти: "
@ -1172,9 +1187,6 @@ msgstr "Процес відеомонтажу вже запущений!"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrstuvwxyzабвгдеєёжзиіїйклмнопрстуфхцчшщъыьюя0123456789-.#~,/_@"
msgid "yes"
msgstr "так"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabcабвг2\tdefдеєёжз3\tghiиіїйкл4\tjklмно5\tmnoпрс6\tpqrsтуфх7\ttuvцчшщъ8\twxyzыьэюя9"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-02-28 13:19+0100\n"
"POT-Creation-Date: 2010-03-12 16:49+0100\n"
"PO-Revision-Date: 2009-09-23 23:50+0800\n"
"Last-Translator: Nan Feng <nfgx@21cn.com>\n"
"Language-Team: Chinese\n"
@ -836,6 +836,9 @@ msgstr "菜单关闭结束"
msgid "Setup.OSD$Recording directories"
msgstr "录像目录"
msgid "Setup.OSD$Folders in timer menu"
msgstr ""
msgid "EPG"
msgstr "电子节目单设置"
@ -988,6 +991,12 @@ msgstr ""
msgid "pause live video"
msgstr ""
msgid "confirm"
msgstr ""
msgid "yes"
msgstr "是"
msgid "Recording"
msgstr "录像设置"
@ -1039,6 +1048,9 @@ msgstr "最大的视频文件容量 (MB)"
msgid "Setup.Recording$Split edited files"
msgstr "分离编辑文件"
msgid "Setup.Recording$Delete timeshift recording"
msgstr ""
msgid "Replay"
msgstr "回放设置"
@ -1156,6 +1168,9 @@ msgstr "没有空闲的DVB设备录像"
msgid "Pausing live video..."
msgstr "暂停当前视频"
msgid "Delete timeshift recording?"
msgstr ""
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "跳过: "
@ -1175,9 +1190,6 @@ msgstr "编辑处理已经激活"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr "abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "是"
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr "0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: recording.c 2.22 2010/01/16 11:18:30 kls Exp $
* $Id: recording.c 2.23 2010/03/07 14:06:04 kls Exp $
*/
#include "recording.h"
@ -58,9 +58,6 @@
#define DISKCHECKDELTA 100 // seconds between checks for free disk space
#define REMOVELATENCY 10 // seconds to wait until next check after removing a file
#define TIMERMACRO_TITLE "TITLE"
#define TIMERMACRO_EPISODE "EPISODE"
#define MAX_SUBTITLE_LENGTH 40
#define MAX_LINK_LEVEL 6

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: recording.h 2.13 2010/01/16 11:16:20 kls Exp $
* $Id: recording.h 2.14 2010/03/07 14:06:15 kls Exp $
*/
#ifndef __RECORDING_H
@ -19,6 +19,8 @@
#include "tools.h"
#define FOLDERDELIMCHAR '~'
#define TIMERMACRO_TITLE "TITLE"
#define TIMERMACRO_EPISODE "EPISODE"
extern bool VfatFileSystem;
extern int InstanceId;

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: sourceparams.c 1.1 2010/02/28 12:15:49 kls Exp $
* $Id: sourceparams.c 1.2 2010/03/06 11:13:39 kls Exp $
*/
#include "sourceparams.h"
@ -21,7 +21,7 @@ cSourceParam::cSourceParam(char Source, const char *Description)
return;
}
SourceParams.Add(this);
if (Source != 'C' && Source != 'S' && Source != 'T')
if (!strchr("ACST", Source)) // no, it's not "ATSC" ;-)
Sources.Add(new cSource(Source, Description));
dsyslog("registered source parameters for '%c - %s'", source, Description);
}

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: sources.c 2.1 2010/02/28 12:00:31 kls Exp $
* $Id: sources.c 2.2 2010/02/28 15:15:39 kls Exp $
*/
#include "sources.h"
@ -55,35 +55,37 @@ cString cSource::ToString(int Code)
int cSource::FromString(const char *s)
{
if ('A' <= *s && *s <= 'Z') {
int code = int(*s) << 24;
if (code == stSat) {
int pos = 0;
bool dot = false;
bool neg = false;
while (*++s) {
switch (*s) {
case '0' ... '9': pos *= 10;
pos += *s - '0';
break;
case '.': dot = true;
break;
case 'E': neg = true; // fall through to 'W'
case 'W': if (!dot)
pos *= 10;
break;
default: esyslog("ERROR: unknown source character '%c'", *s);
return stNone;
}
}
if (neg)
pos = -pos;
code |= (pos & st_Pos);
if (!isempty(s)) {
if ('A' <= *s && *s <= 'Z') {
int code = int(*s) << 24;
if (code == stSat) {
int pos = 0;
bool dot = false;
bool neg = false;
while (*++s) {
switch (*s) {
case '0' ... '9': pos *= 10;
pos += *s - '0';
break;
case '.': dot = true;
break;
case 'E': neg = true; // fall through to 'W'
case 'W': if (!dot)
pos *= 10;
break;
default: esyslog("ERROR: unknown source character '%c'", *s);
return stNone;
}
}
if (neg)
pos = -pos;
code |= (pos & st_Pos);
}
return code;
}
return code;
else
esyslog("ERROR: unknown source key '%c'", *s);
}
else
esyslog("ERROR: unknown source key '%c'", *s);
return stNone;
}

View File

@ -195,3 +195,12 @@ C DVB-C
# Terrestrial
T DVB-T
# ATSC
A ATSC
# Plugins
I IPTV
V Analog Video

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: sources.h 2.1 2010/02/21 16:11:19 kls Exp $
* $Id: sources.h 2.3 2010/03/07 13:53:11 kls Exp $
*/
#ifndef __SOURCES_H
@ -16,6 +16,7 @@ class cSource : public cListObject {
public:
enum eSourceType {
stNone = 0x00000000,
stAtsc = ('A' << 24),
stCable = ('C' << 24),
stSat = ('S' << 24),
stTerr = ('T' << 24),
@ -35,9 +36,11 @@ public:
static cString ToString(int Code);
static int FromString(const char *s);
static int FromData(eSourceType SourceType, int Position = 0, bool East = false);
static bool IsAtsc(int Code) { return (Code & st_Mask) == stAtsc; }
static bool IsCable(int Code) { return (Code & st_Mask) == stCable; }
static bool IsSat(int Code) { return (Code & st_Mask) == stSat; }
static bool IsTerr(int Code) { return (Code & st_Mask) == stTerr; }
static bool IsType(int Code, char Source) { return int(Code & st_Mask) == (int(Source) << 24); }
};
class cSources : public cConfig<cSource> {

6
vdr.5
View File

@ -8,7 +8,7 @@
.\" License as specified in the file COPYING that comes with the
.\" vdr distribution.
.\"
.\" $Id: vdr.5 2.15 2010/02/21 14:29:06 kls Exp $
.\" $Id: vdr.5 2.17 2010/03/06 14:04:54 kls Exp $
.\"
.TH vdr 5 "10 Feb 2008" "1.6" "Video Disk Recorder Files"
.SH NAME
@ -402,14 +402,16 @@ The first character of the \fBcode\fR must be one of
.TS
tab (@);
l l.
\fBS\fR@Satellite
\fBA\fR@ATSC
\fBC\fR@Cable
\fBS\fR@Satellite
\fBT\fR@Terrestrial
.TE
and is followed by further data pertaining to that particular source. In case of
\fBS\fRatellite this is the orbital position in degrees, followed by \fBE\fR for
east or \fBW\fR for west.
Plugins may define additional sources, using other characters in the range 'A'...'Z'.
.SS DISEQC
The file \fIdiseqc.conf\fR defines the \fBDiSEqC\fR control sequences to be sent
to the DVB-S card in order to access a given satellite position and/or band.