From 991eda006700f1703bcec528c1ff178a4cab9048 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 3 May 2009 17:15:00 +0200 Subject: Version 1.7.7 - The new function cDevice::GetVideoSize() returns the size and aspect ratio of the video material currently displayed. This function is used to determine the proper size of the OSD. Plugin authors should implement this function in classes derived from cDevice, if they are able to replay video. - The OSD and font sizes are now defined in percent of the actual video display size. The maximum OSD size has been raised to 1920x1080, to allow full screen OSD on HD systems. - The OSD size is now automatically adjusted to the actual video display (provided the output device implements the GetVideoSize() function). - cFrameDetector::Analyze() now syncs on the TS packet sync bytes (thanks to Oliver Endriss for reporting broken index generation after a buffer overflow). --- CONTRIBUTORS | 1 + HISTORY | 14 +++++++++++++ MANUAL | 22 +++++++++++--------- PLUGINS.html | 11 ++++++++++ config.c | 32 +++++++++++++++++++++++++--- config.h | 23 ++++++++++++-------- device.c | 14 ++++++++++++- device.h | 12 ++++++++++- dvbdevice.c | 19 ++++++++++++++++- dvbdevice.h | 3 ++- font.c | 6 +++--- font.h | 3 ++- menu.c | 52 ++++++++++++++++++++-------------------------- menuitems.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- menuitems.h | 14 ++++++++++++- osd.c | 30 ++++++++++++++++++++++++++- osd.h | 10 ++++++++- po/ca_ES.po | 28 ++++++++++++------------- po/cs_CZ.po | 28 ++++++++++++------------- po/da_DK.po | 28 ++++++++++++------------- po/de_DE.po | 28 ++++++++++++------------- po/el_GR.po | 22 ++++++++++---------- po/es_ES.po | 28 ++++++++++++------------- po/et_EE.po | 28 ++++++++++++------------- po/fi_FI.po | 28 ++++++++++++------------- po/fr_FR.po | 28 ++++++++++++------------- po/hr_HR.po | 28 ++++++++++++------------- po/hu_HU.po | 28 ++++++++++++------------- po/it_IT.po | 28 ++++++++++++------------- po/nl_NL.po | 28 ++++++++++++------------- po/nn_NO.po | 18 ++++++++-------- po/pl_PL.po | 28 ++++++++++++------------- po/pt_PT.po | 28 ++++++++++++------------- po/ro_RO.po | 28 ++++++++++++------------- po/ru_RU.po | 28 ++++++++++++------------- po/sl_SI.po | 28 ++++++++++++------------- po/sv_SE.po | 28 ++++++++++++------------- po/tr_TR.po | 28 ++++++++++++------------- po/uk_UA.po | 28 ++++++++++++------------- po/zh_CN.po | 28 ++++++++++++------------- remux.c | 9 +++++++- vdr.c | 8 ++++++- 42 files changed, 600 insertions(+), 379 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 18c326c..7bdc251 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -671,6 +671,7 @@ Oliver Endriss for reporting that the video type is unnecessarily written into channels.conf if VPID is 0 for reporting chirping sound disturbences at editing points in TS recordings + for reporting broken index generation in TS recordings after a buffer overflow Reinhard Walter Buchner for adding some satellites to 'sources.conf' diff --git a/HISTORY b/HISTORY index aa547be..d94e161 100644 --- a/HISTORY +++ b/HISTORY @@ -6060,3 +6060,17 @@ Video Disk Recorder Revision History - Added a note to the INSTALL file about using subdirectories to split a large disk into separate areas for VDR's video data and other stuff (suggested by Udo Richter). + +2009-05-03: Version 1.7.7 + +- The new function cDevice::GetVideoSize() returns the size and aspect ratio + of the video material currently displayed. This function is used to determine + the proper size of the OSD. Plugin authors should implement this function in + classes derived from cDevice, if they are able to replay video. +- The OSD and font sizes are now defined in percent of the actual video display + size. The maximum OSD size has been raised to 1920x1080, to allow full + screen OSD on HD systems. +- The OSD size is now automatically adjusted to the actual video display + (provided the output device implements the GetVideoSize() function). +- cFrameDetector::Analyze() now syncs on the TS packet sync bytes (thanks to + Oliver Endriss for reporting broken index generation after a buffer overflow). diff --git a/MANUAL b/MANUAL index bb128f5..ebf89fd 100644 --- a/MANUAL +++ b/MANUAL @@ -489,12 +489,13 @@ Version 1.6 Theme = Default Defines the "theme" to use with the current skin. - Left = 54 The top and left offset of the OSD. - Top = 45 The valid ranges are left=0...672, top=0...567. + Left = 8 The left and top offset of the OSD, in percent of the + Top = 8 total video display width and height, respectively. + The valid range is 0...50%. - Width = 624 The width and height of the OSD. - Height = 486 The valid ranges are width=480...672, height=324...567. - The Width must be a multiple of 8. + Width = 87 The width and height of the OSD, in percent of the + Height = 84 total video display width and height, respectively. + The valid range is 50...100%. Message time = 1 The time (in seconds) how long an informational message shall be displayed on the OSD. The valid range @@ -516,11 +517,12 @@ Version 1.6 Fixed font = Courier:Bold The names of the various fonts to use. - Default font size = 22 - Small font size = 18 - Fixed font size = 20 - The sizes (in pixel) of the various fonts. Valid range is - 10...64. + Default font size = 3.8 + Small font size = 3.5 + Fixed font size = 3.1 + The sizes (in percent of the total video display height) + of the various fonts. The valid range is 1...10%, at + a resolution of 0.1%. Channel info position = bottom The position of the channel info window in the OSD diff --git a/PLUGINS.html b/PLUGINS.html index 719e70f..344015b 100644 --- a/PLUGINS.html +++ b/PLUGINS.html @@ -1939,6 +1939,17 @@ user - whether this goes through OSD facilities of the physical device (like a "full featured" DVB card) or through a graphics adapter that overlays its output with the video signal, doesn't matter. +
+In order to be able to determine the proper size of the OSD, the device +should implement the function + +

+virtual void GetVideoSize(int &Width, int &Height, eVideoAspect &Aspect);
+

+ +By default, an OSD size of 480x324 with an aspect ratio of 4:3 is assumed. +

+

Initializing new devices

diff --git a/config.c b/config.c index 1132b12..669228b 100644 --- a/config.c +++ b/config.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.c 2.1 2009/01/24 15:05:32 kls Exp $ + * $Id: config.c 2.2 2009/05/03 13:58:08 kls Exp $ */ #include "config.h" @@ -262,6 +262,10 @@ cSetup::cSetup(void) UseDolbyDigital = 1; ChannelInfoPos = 0; ChannelInfoTime = 5; + OSDLeftP = 0.08; + OSDTopP = 0.08; + OSDWidthP = 0.87; + OSDHeightP = 0.84; OSDLeft = 54; OSDTop = 45; OSDWidth = 624; @@ -272,6 +276,9 @@ cSetup::cSetup(void) strcpy(FontOsd, DefaultFontOsd); strcpy(FontSml, DefaultFontSml); strcpy(FontFix, DefaultFontFix); + FontOsdSizeP = 0.038; + FontSmlSizeP = 0.035; + FontFixSizeP = 0.031; FontOsdSize = 22; FontSmlSize = 18; FontFixSize = 20; @@ -324,6 +331,11 @@ void cSetup::Store(const char *Name, int Value, const char *Plugin) Store(Name, cString::sprintf("%d", Value), Plugin); } +void cSetup::Store(const char *Name, double &Value, const char *Plugin) +{ + Store(Name, cString::sprintf("%f", Value), Plugin); +} + bool cSetup::Load(const char *FileName) { if (cConfig::Load(FileName, true)) { @@ -435,16 +447,23 @@ bool cSetup::Parse(const char *Name, const char *Value) else if (!strcasecmp(Name, "UseDolbyDigital")) UseDolbyDigital = atoi(Value); else if (!strcasecmp(Name, "ChannelInfoPos")) ChannelInfoPos = atoi(Value); else if (!strcasecmp(Name, "ChannelInfoTime")) ChannelInfoTime = atoi(Value); + else if (!strcasecmp(Name, "OSDLeftP")) OSDLeftP = atof(Value); + else if (!strcasecmp(Name, "OSDTopP")) OSDTopP = atof(Value); + else if (!strcasecmp(Name, "OSDWidthP")) OSDWidthP = atof(Value); + else if (!strcasecmp(Name, "OSDHeightP")) OSDHeightP = atof(Value); else if (!strcasecmp(Name, "OSDLeft")) OSDLeft = atoi(Value); else if (!strcasecmp(Name, "OSDTop")) OSDTop = atoi(Value); - else if (!strcasecmp(Name, "OSDWidth")) { OSDWidth = atoi(Value); if (OSDWidth < 100) OSDWidth *= 12; OSDWidth &= ~0x07; } // OSD width must be a multiple of 8 - else if (!strcasecmp(Name, "OSDHeight")) { OSDHeight = atoi(Value); if (OSDHeight < 100) OSDHeight *= 27; } + else if (!strcasecmp(Name, "OSDWidth")) { OSDWidth = atoi(Value); OSDWidth &= ~0x07; } // OSD width must be a multiple of 8 + else if (!strcasecmp(Name, "OSDHeight")) OSDHeight = atoi(Value); else if (!strcasecmp(Name, "OSDMessageTime")) OSDMessageTime = atoi(Value); else if (!strcasecmp(Name, "UseSmallFont")) UseSmallFont = atoi(Value); else if (!strcasecmp(Name, "AntiAlias")) AntiAlias = atoi(Value); else if (!strcasecmp(Name, "FontOsd")) Utf8Strn0Cpy(FontOsd, Value, MAXFONTNAME); else if (!strcasecmp(Name, "FontSml")) Utf8Strn0Cpy(FontSml, Value, MAXFONTNAME); else if (!strcasecmp(Name, "FontFix")) Utf8Strn0Cpy(FontFix, Value, MAXFONTNAME); + else if (!strcasecmp(Name, "FontOsdSizeP")) FontOsdSizeP = atof(Value); + else if (!strcasecmp(Name, "FontSmlSizeP")) FontSmlSizeP = atof(Value); + else if (!strcasecmp(Name, "FontFixSizeP")) FontFixSizeP = atof(Value); else if (!strcasecmp(Name, "FontOsdSize")) FontOsdSize = atoi(Value); else if (!strcasecmp(Name, "FontSmlSize")) FontSmlSize = atoi(Value); else if (!strcasecmp(Name, "FontFixSize")) FontFixSize = atoi(Value); @@ -518,6 +537,10 @@ bool cSetup::Save(void) Store("UseDolbyDigital", UseDolbyDigital); Store("ChannelInfoPos", ChannelInfoPos); Store("ChannelInfoTime", ChannelInfoTime); + Store("OSDLeftP", OSDLeftP); + Store("OSDTopP", OSDTopP); + Store("OSDWidthP", OSDWidthP); + Store("OSDHeightP", OSDHeightP); Store("OSDLeft", OSDLeft); Store("OSDTop", OSDTop); Store("OSDWidth", OSDWidth); @@ -528,6 +551,9 @@ bool cSetup::Save(void) Store("FontOsd", FontOsd); Store("FontSml", FontSml); Store("FontFix", FontFix); + Store("FontOsdSizeP", FontOsdSizeP); + Store("FontSmlSizeP", FontSmlSizeP); + Store("FontFixSizeP", FontFixSizeP); Store("FontOsdSize", FontOsdSize); Store("FontSmlSize", FontSmlSize); Store("FontFixSize", FontFixSize); diff --git a/config.h b/config.h index 8dae456..5a884ca 100644 --- a/config.h +++ b/config.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.h 2.8 2009/04/12 14:20:52 kls Exp $ + * $Id: config.h 2.9 2009/05/03 13:15:35 kls Exp $ */ #ifndef __CONFIG_H @@ -22,13 +22,13 @@ // VDR's own version number: -#define VDRVERSION "1.7.6" -#define VDRVERSNUM 10706 // Version * 10000 + Major * 100 + Minor +#define VDRVERSION "1.7.7" +#define VDRVERSNUM 10707 // Version * 10000 + Major * 100 + Minor // The plugin API's version number: -#define APIVERSION "1.7.6" -#define APIVERSNUM 10706 // Version * 10000 + Major * 100 + Minor +#define APIVERSION "1.7.7" +#define APIVERSNUM 10707 // 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 @@ -39,10 +39,10 @@ #define MAXPRIORITY 99 #define MAXLIFETIME 99 -#define MINOSDWIDTH 480 -#define MAXOSDWIDTH 672 -#define MINOSDHEIGHT 324 -#define MAXOSDHEIGHT 567 +#define MINOSDWIDTH 480 +#define MAXOSDWIDTH 1920 +#define MINOSDHEIGHT 324 +#define MAXOSDHEIGHT 1080 #define MaxFileName 256 #define MaxSkinName 16 @@ -195,6 +195,7 @@ private: cSetupLine *Get(const char *Name, const char *Plugin = NULL); void Store(const char *Name, const char *Value, const char *Plugin = NULL, bool AllowMultiple = false); void Store(const char *Name, int Value, const char *Plugin = NULL); + void Store(const char *Name, double &Value, const char *Plugin = NULL); public: // Also adjust cMenuSetup (menu.c) when adding parameters here! int __BeginData__; @@ -243,6 +244,7 @@ public: int UseDolbyDigital; int ChannelInfoPos; int ChannelInfoTime; + double OSDLeftP, OSDTopP, OSDWidthP, OSDHeightP; int OSDLeft, OSDTop, OSDWidth, OSDHeight; int OSDMessageTime; int UseSmallFont; @@ -250,6 +252,9 @@ public: char FontOsd[MAXFONTNAME]; char FontSml[MAXFONTNAME]; char FontFix[MAXFONTNAME]; + double FontOsdSizeP; + double FontSmlSizeP; + double FontFixSizeP; int FontOsdSize; int FontSmlSize; int FontFixSize; diff --git a/device.c b/device.c index 6121620..ca2c3b3 100644 --- a/device.c +++ b/device.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: device.c 2.16 2009/04/18 09:41:00 kls Exp $ + * $Id: device.c 2.17 2009/05/02 12:17:39 kls Exp $ */ #include "device.h" @@ -19,6 +19,11 @@ #include "status.h" #include "transfer.h" +const char *VideoAspectString[] = { "4:3", + "16:9", + "2.21:9" + }; + // --- cLiveSubtitle --------------------------------------------------------- class cLiveSubtitle : public cReceiver { @@ -384,6 +389,13 @@ eVideoSystem cDevice::GetVideoSystem(void) return vsPAL; } +void cDevice::GetVideoSize(int &Width, int &Height, eVideoAspect &Aspect) +{ + Width = MINOSDWIDTH; + Height = MINOSDHEIGHT; + Aspect = va4_3; +} + //#define PRINTPIDS(s) { char b[500]; char *q = b; q += sprintf(q, "%d %s ", CardIndex(), s); for (int i = 0; i < MAXPIDHANDLES; i++) q += sprintf(q, " %s%4d %d", i == ptOther ? "* " : "", pidHandles[i].pid, pidHandles[i].used); dsyslog(b); } #define PRINTPIDS(s) diff --git a/device.h b/device.h index c3a170b..74f1277 100644 --- a/device.h +++ b/device.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: device.h 2.9 2009/04/05 12:12:44 kls Exp $ + * $Id: device.h 2.10 2009/05/02 12:16:20 kls Exp $ */ #ifndef __DEVICE_H @@ -56,6 +56,13 @@ enum eVideoSystem { vsPAL, vsNTSC }; +enum eVideoAspect { va4_3, + va16_9, + va221_9 + }; + +extern const char *VideoAspectString[]; + enum eVideoDisplayFormat { vdfPanAndScan, vdfLetterBox, vdfCenterCutOut @@ -377,6 +384,9 @@ public: virtual eVideoSystem GetVideoSystem(void); ///< Returns the video system of the currently displayed material ///< (default is PAL). + virtual void GetVideoSize(int &Width, int &Height, eVideoAspect &Aspect); + ///< Returns the With, Height and Aspect ratio of the currently + ///< displayed material. // Track facilities diff --git a/dvbdevice.c b/dvbdevice.c index 942abf1..84f0e97 100644 --- a/dvbdevice.c +++ b/dvbdevice.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbdevice.c 2.14 2009/04/10 09:54:24 kls Exp $ + * $Id: dvbdevice.c 2.15 2009/05/03 13:49:41 kls Exp $ */ #include "dvbdevice.h" @@ -746,6 +746,23 @@ eVideoSystem cDvbDevice::GetVideoSystem(void) return VideoSystem; } +void cDvbDevice::GetVideoSize(int &Width, int &Height, eVideoAspect &Aspect) +{ + video_size_t vs; + if (ioctl(fd_video, VIDEO_GET_SIZE, &vs) == 0) { + Width = vs.w; + if (Width < 720) // FIXME: some channels result in a With of, e.g. 544, but the final video *is* 720 wide + Width = 720; + Height = vs.h; + Aspect = eVideoAspect(vs.aspect_ratio); + if (Width >= MINOSDWIDTH && Width <= MAXOSDWIDTH && Height >= MINOSDHEIGHT && Height <= MAXOSDHEIGHT) + return; + } + else + LOG_ERROR; + cDevice::GetVideoSize(Width, Height, Aspect); +} + bool cDvbDevice::SetAudioBypass(bool On) { if (setTransferModeForDolbyDigital != 1) diff --git a/dvbdevice.h b/dvbdevice.h index c3b0ced..4e325ca 100644 --- a/dvbdevice.h +++ b/dvbdevice.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbdevice.h 2.3 2008/12/06 13:31:12 kls Exp $ + * $Id: dvbdevice.h 2.4 2009/05/02 10:44:40 kls Exp $ */ #ifndef __DVBDEVICE_H @@ -107,6 +107,7 @@ public: virtual void SetVideoDisplayFormat(eVideoDisplayFormat VideoDisplayFormat); virtual void SetVideoFormat(bool VideoFormat16_9); virtual eVideoSystem GetVideoSystem(void); + virtual void GetVideoSize(int &Width, int &Height, eVideoAspect &Aspect); // Track facilities diff --git a/font.c b/font.c index f962a09..3fa97df 100644 --- a/font.c +++ b/font.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: font.c 2.1 2008/05/02 16:16:51 kls Exp $ + * $Id: font.c 2.2 2009/05/03 11:15:39 kls Exp $ */ #include "font.h" @@ -145,7 +145,7 @@ cFreetypeFont::cFreetypeFont(const char *Name, int CharHeight, int CharWidth) 0, // horizontal device resolution 0); // vertical device resolution if (!error) { - height = ((face->size->metrics.ascender-face->size->metrics.descender) + 63) / 64; + height = (face->size->metrics.ascender - face->size->metrics.descender + 63) / 64; bottom = abs((face->size->metrics.descender - 63) / 64); } else @@ -328,7 +328,7 @@ cFont *cFont::fonts[eDvbFontSize] = { NULL }; void cFont::SetFont(eDvbFont Font, const char *Name, int CharHeight) { - cFont *f = CreateFont(Name, CharHeight); + cFont *f = CreateFont(Name, min(max(CharHeight, MINFONTSIZE), MAXFONTSIZE)); if (!f || !f->Height()) f = new cDummyFont; delete fonts[Font]; diff --git a/font.h b/font.h index 6d68d75..5b9ec64 100644 --- a/font.h +++ b/font.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: font.h 2.0 2007/06/23 10:09:14 kls Exp $ + * $Id: font.h 2.1 2009/05/03 11:00:19 kls Exp $ */ #ifndef __FONT_H @@ -15,6 +15,7 @@ #include "tools.h" #define MAXFONTNAME 64 +#define MINFONTSIZE 10 #define MAXFONTSIZE 64 enum eDvbFont { diff --git a/menu.c b/menu.c index fa60065..423f6f2 100644 --- a/menu.c +++ b/menu.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menu.c 2.6 2009/01/24 15:05:43 kls Exp $ + * $Id: menu.c 2.7 2009/05/03 13:30:13 kls Exp $ */ #include "menu.h" @@ -2197,19 +2197,19 @@ void cMenuSetupOSD::Set(void) Add(new cMenuEditStraItem(tr("Setup.OSD$Skin"), &skinIndex, numSkins, skinDescriptions)); if (themes.NumThemes()) Add(new cMenuEditStraItem(tr("Setup.OSD$Theme"), &themeIndex, themes.NumThemes(), themes.Descriptions())); - Add(new cMenuEditIntItem( tr("Setup.OSD$Left"), &data.OSDLeft, 0, MAXOSDWIDTH)); - Add(new cMenuEditIntItem( tr("Setup.OSD$Top"), &data.OSDTop, 0, MAXOSDHEIGHT)); - Add(new cMenuEditIntItem( tr("Setup.OSD$Width"), &data.OSDWidth, MINOSDWIDTH, MAXOSDWIDTH)); - Add(new cMenuEditIntItem( tr("Setup.OSD$Height"), &data.OSDHeight, MINOSDHEIGHT, MAXOSDHEIGHT)); + Add(new cMenuEditPrcItem( tr("Setup.OSD$Left (%)"), &data.OSDLeftP, 0.0, 0.5)); + Add(new cMenuEditPrcItem( tr("Setup.OSD$Top (%)"), &data.OSDTopP, 0.0, 0.5)); + Add(new cMenuEditPrcItem( tr("Setup.OSD$Width (%)"), &data.OSDWidthP, 0.5, 1.0)); + Add(new cMenuEditPrcItem( tr("Setup.OSD$Height (%)"), &data.OSDHeightP, 0.5, 1.0)); Add(new cMenuEditIntItem( tr("Setup.OSD$Message time (s)"), &data.OSDMessageTime, 1, 60)); Add(new cMenuEditStraItem(tr("Setup.OSD$Use small font"), &data.UseSmallFont, 3, useSmallFontTexts)); Add(new cMenuEditBoolItem(tr("Setup.OSD$Anti-alias"), &data.AntiAlias)); Add(new cMenuEditStraItem(tr("Setup.OSD$Default font"), &fontOsdIndex, fontOsdNames.Size(), &fontOsdNames[0])); Add(new cMenuEditStraItem(tr("Setup.OSD$Small font"), &fontSmlIndex, fontSmlNames.Size(), &fontSmlNames[0])); Add(new cMenuEditStraItem(tr("Setup.OSD$Fixed font"), &fontFixIndex, fontFixNames.Size(), &fontFixNames[0])); - Add(new cMenuEditIntItem( tr("Setup.OSD$Default font size (pixel)"), &data.FontOsdSize, 10, MAXFONTSIZE)); - Add(new cMenuEditIntItem( tr("Setup.OSD$Small font size (pixel)"),&data.FontSmlSize, 10, MAXFONTSIZE)); - Add(new cMenuEditIntItem( tr("Setup.OSD$Fixed font size (pixel)"),&data.FontFixSize, 10, MAXFONTSIZE)); + Add(new cMenuEditPrcItem( tr("Setup.OSD$Default font size (%)"), &data.FontOsdSizeP, 0.01, 0.1, 1)); + Add(new cMenuEditPrcItem( tr("Setup.OSD$Small font size (%)"), &data.FontSmlSizeP, 0.01, 0.1, 1)); + Add(new cMenuEditPrcItem( tr("Setup.OSD$Fixed font size (%)"), &data.FontFixSizeP, 0.01, 0.1, 1)); Add(new cMenuEditBoolItem(tr("Setup.OSD$Channel info position"), &data.ChannelInfoPos, tr("bottom"), tr("top"))); Add(new cMenuEditIntItem( tr("Setup.OSD$Channel info time (s)"), &data.ChannelInfoTime, 1, 60)); Add(new cMenuEditBoolItem(tr("Setup.OSD$Info on channel switch"), &data.ShowInfoOnChSwitch)); @@ -2224,7 +2224,7 @@ void cMenuSetupOSD::Set(void) eOSState cMenuSetupOSD::ProcessKey(eKeys Key) { - bool ModifiedApperance = false; + bool ModifiedAppearance = false; if (Key == kOk) { I18nSetLocale(data.OSDLanguage); @@ -2233,43 +2233,37 @@ eOSState cMenuSetupOSD::ProcessKey(eKeys Key) if (Skin) { Utf8Strn0Cpy(data.OSDSkin, Skin->Name(), sizeof(data.OSDSkin)); Skins.SetCurrent(Skin->Name()); - ModifiedApperance = true; + ModifiedAppearance = true; } } if (themes.NumThemes() && Skins.Current()->Theme()) { Skins.Current()->Theme()->Load(themes.FileName(themeIndex)); Utf8Strn0Cpy(data.OSDTheme, themes.Name(themeIndex), sizeof(data.OSDTheme)); - ModifiedApperance |= themeIndex != originalThemeIndex; - } - if (data.OSDLeft != Setup.OSDLeft || data.OSDTop != Setup.OSDTop || data.OSDWidth != Setup.OSDWidth || data.OSDHeight != Setup.OSDHeight) { - data.OSDWidth &= ~0x07; // OSD width must be a multiple of 8 - ModifiedApperance = true; + ModifiedAppearance |= themeIndex != originalThemeIndex; } + if (data.OSDLeftP != Setup.OSDLeftP || data.OSDTopP != Setup.OSDTopP || data.OSDWidthP != Setup.OSDWidthP || data.OSDHeightP != Setup.OSDHeightP) + ModifiedAppearance = true; if (data.UseSmallFont != Setup.UseSmallFont || data.AntiAlias != Setup.AntiAlias) - ModifiedApperance = true; + ModifiedAppearance = true; Utf8Strn0Cpy(data.FontOsd, fontOsdNames[fontOsdIndex], sizeof(data.FontOsd)); Utf8Strn0Cpy(data.FontSml, fontSmlNames[fontSmlIndex], sizeof(data.FontSml)); Utf8Strn0Cpy(data.FontFix, fontFixNames[fontFixIndex], sizeof(data.FontFix)); - if (strcmp(data.FontOsd, Setup.FontOsd) || data.FontOsdSize != Setup.FontOsdSize) { - cFont::SetFont(fontOsd, data.FontOsd, data.FontOsdSize); - ModifiedApperance = true; - } - if (strcmp(data.FontSml, Setup.FontSml) || data.FontSmlSize != Setup.FontSmlSize) { - cFont::SetFont(fontSml, data.FontSml, data.FontSmlSize); - ModifiedApperance = true; - } - if (strcmp(data.FontFix, Setup.FontFix) || data.FontFixSize != Setup.FontFixSize) { - cFont::SetFont(fontFix, data.FontFix, data.FontFixSize); - ModifiedApperance = true; - } + if (strcmp(data.FontOsd, Setup.FontOsd) || data.FontOsdSizeP != Setup.FontOsdSizeP) + ModifiedAppearance = true; + if (strcmp(data.FontSml, Setup.FontSml) || data.FontSmlSizeP != Setup.FontSmlSizeP) + ModifiedAppearance = true; + if (strcmp(data.FontFix, Setup.FontFix) || data.FontFixSizeP != Setup.FontFixSizeP) + ModifiedAppearance = true; } int oldSkinIndex = skinIndex; int oldOsdLanguageIndex = osdLanguageIndex; eOSState state = cMenuSetupBase::ProcessKey(Key); - if (ModifiedApperance) + if (ModifiedAppearance) { + cOsdProvider::UpdateOsdSize(true); SetDisplayMenu(); + } if (osdLanguageIndex != oldOsdLanguageIndex || skinIndex != oldSkinIndex) { strn0cpy(data.OSDLanguage, I18nLocale(osdLanguageIndex), sizeof(data.OSDLanguage)); diff --git a/menuitems.c b/menuitems.c index 6702384..df14b10 100644 --- a/menuitems.c +++ b/menuitems.c @@ -4,11 +4,12 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menuitems.c 2.3 2009/04/05 10:15:12 kls Exp $ + * $Id: menuitems.c 2.4 2009/05/03 13:37:55 kls Exp $ */ #include "menuitems.h" #include +#include #include #include "i18n.h" #include "plugin.h" @@ -200,6 +201,71 @@ eOSState cMenuEditNumItem::ProcessKey(eKeys Key) return state; } +// --- cMenuEditPrcItem ------------------------------------------------------ + +cMenuEditPrcItem::cMenuEditPrcItem(const char *Name, double *Value, double Min, double Max, int Decimals) +:cMenuEditItem(Name) +{ + value = Value; + min = Min; + max = Max; + decimals = Decimals; + factor = 100; + while (Decimals-- > 0) + factor *= 10; + if (*value < min) + *value = min; + else if (*value > max) + *value = max; + Set(); +} + +void cMenuEditPrcItem::Set(void) +{ + char buf[16]; + snprintf(buf, sizeof(buf), "%.*f", decimals, *value * 100); + SetValue(buf); +} + +eOSState cMenuEditPrcItem::ProcessKey(eKeys Key) +{ + eOSState state = cMenuEditItem::ProcessKey(Key); + + if (state == osUnknown) { + double newValue = round(*value * factor); // avoids precision problems + Key = NORMALKEY(Key); + switch (Key) { + case kNone: break; + case k0 ... k9: + if (fresh) { + newValue = 0; + fresh = false; + } + newValue = newValue * 10 + (Key - k0); + break; + case kLeft: // TODO might want to increase the delta if repeated quickly? + newValue--; + fresh = true; + break; + case kRight: + newValue++; + fresh = true; + break; + default: + if (*value < min) { *value = min; Set(); } + if (*value > max) { *value = max; Set(); } + return state; + } + newValue /= factor; + if (newValue != *value && (!fresh || min <= newValue) && newValue <= max) { + *value = newValue; + Set(); + } + state = osContinue; + } + return state; +} + // --- cMenuEditChrItem ------------------------------------------------------ cMenuEditChrItem::cMenuEditChrItem(const char *Name, char *Value, const char *Allowed) diff --git a/menuitems.h b/menuitems.h index 8d68b7d..4832475 100644 --- a/menuitems.h +++ b/menuitems.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menuitems.h 2.1 2008/04/12 12:03:59 kls Exp $ + * $Id: menuitems.h 2.2 2009/05/03 12:50:34 kls Exp $ */ #ifndef __MENUITEMS_H @@ -64,6 +64,18 @@ public: virtual eOSState ProcessKey(eKeys Key); }; +class cMenuEditPrcItem : public cMenuEditItem { +protected: + double *value; + double min, max; + int decimals; + int factor; + virtual void Set(void); +public: + cMenuEditPrcItem(const char *Name, double *Value, double Min = 0.0, double Max = 1.0, int Decimals = 0); + virtual eOSState ProcessKey(eKeys Key); + }; + class cMenuEditChrItem : public cMenuEditItem { private: char *value; diff --git a/osd.c b/osd.c index d8e5112..2ed1acf 100644 --- a/osd.c +++ b/osd.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: osd.c 2.2 2009/04/05 10:17:25 kls Exp $ + * $Id: osd.c 2.3 2009/05/03 13:52:47 kls Exp $ */ #include "osd.h" @@ -14,6 +14,7 @@ #include #include #include +#include "device.h" #include "tools.h" // --- cPalette -------------------------------------------------------------- @@ -880,6 +881,9 @@ void cOsd::Flush(void) // --- cOsdProvider ---------------------------------------------------------- cOsdProvider *cOsdProvider::osdProvider = NULL; +int cOsdProvider::oldWidth = 0; +int cOsdProvider::oldHeight = 0; +int cOsdProvider::oldAspect = va4_3; cOsdProvider::cOsdProvider(void) { @@ -911,6 +915,30 @@ cOsd *cOsdProvider::NewOsd(int Left, int Top, uint Level) return new cOsd(Left, Top, 999); // create a dummy cOsd, so that access won't result in a segfault } +void cOsdProvider::UpdateOsdSize(bool Force) +{ + int Width; + int Height; + eVideoAspect Aspect; + cDevice::PrimaryDevice()->GetVideoSize(Width, Height, Aspect); + if (Width != oldWidth || Height != oldHeight || Aspect != oldAspect || Force) { + Setup.OSDLeft = int(round(Width * Setup.OSDLeftP)); + Setup.OSDTop = int(round(Height * Setup.OSDTopP)); + Setup.OSDWidth = int(round(Width * Setup.OSDWidthP)) & ~0x07; // OSD width must be a multiple of 8 + Setup.OSDHeight = int(round(Height * Setup.OSDHeightP)); + Setup.FontOsdSize = int(round(Height * Setup.FontOsdSizeP)); + Setup.FontFixSize = int(round(Height * Setup.FontFixSizeP)); + Setup.FontSmlSize = int(round(Height * Setup.FontSmlSizeP)); + cFont::SetFont(fontOsd, Setup.FontOsd, Setup.FontOsdSize); + cFont::SetFont(fontFix, Setup.FontFix, Setup.FontFixSize); + cFont::SetFont(fontSml, Setup.FontSml, Setup.FontSmlSize); + oldWidth = Width; + oldHeight = Height; + oldAspect = Aspect; + dsyslog("OSD size changed to %dx%d @ %s", Width, Height, VideoAspectString[Aspect]); + } +} + void cOsdProvider::Shutdown(void) { delete osdProvider; diff --git a/osd.h b/osd.h index 7690952..ba79fde 100644 --- a/osd.h +++ b/osd.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: osd.h 2.2 2009/04/05 10:16:05 kls Exp $ + * $Id: osd.h 2.3 2009/05/03 13:52:10 kls Exp $ */ #ifndef __OSD_H @@ -406,6 +406,9 @@ public: class cOsdProvider { private: static cOsdProvider *osdProvider; + static int oldWidth; + static int oldHeight; + static int oldAspect; protected: virtual cOsd *CreateOsd(int Left, int Top, uint Level) = 0; ///< Returns a pointer to a newly created cOsd object, which will be located @@ -420,6 +423,11 @@ public: ///< caller must delete it. If the OSD is already in use, or there is no OSD ///< provider, a dummy OSD is returned so that the caller may always use the ///< returned pointer without having to check it every time it is accessed. + static void UpdateOsdSize(bool Force = false); + ///< Inquires the actual size of the video display and adjusts the OSD and + ///< font sizes accordingly. If Force is true, all settings are recalculated, + ///< even if the video resolution hasn't changed since the last call to + ///< this funtion. static void Shutdown(void); ///< Shuts down the OSD provider facility by deleting the current OSD provider. }; diff --git a/po/ca_ES.po b/po/ca_ES.po index d86ebc4..0ab2de6 100644 --- a/po/ca_ES.po +++ b/po/ca_ES.po @@ -495,17 +495,17 @@ msgstr "Aparen msgid "Setup.OSD$Theme" msgstr "Tema" -msgid "Setup.OSD$Left" -msgstr "Esquerra" +msgid "Setup.OSD$Left (%)" +msgstr "Esquerra (%)" -msgid "Setup.OSD$Top" -msgstr "A dalt" +msgid "Setup.OSD$Top (%)" +msgstr "A dalt (%)" -msgid "Setup.OSD$Width" -msgstr "Amplada" +msgid "Setup.OSD$Width (%)" +msgstr "Amplada (%)" -msgid "Setup.OSD$Height" -msgstr "Alçada" +msgid "Setup.OSD$Height (%)" +msgstr "Alçada (%)" msgid "Setup.OSD$Message time (s)" msgstr "Durada dels missatges (s)" @@ -525,14 +525,14 @@ msgstr "Font petita" msgid "Setup.OSD$Fixed font" msgstr "Font fixa" -msgid "Setup.OSD$Default font size (pixel)" -msgstr "Mida font predeterminada (pixel)" +msgid "Setup.OSD$Default font size (%)" +msgstr "Mida font predeterminada (%)" -msgid "Setup.OSD$Small font size (pixel)" -msgstr "Mida font petita" +msgid "Setup.OSD$Small font size (%)" +msgstr "Mida font petita (%)" -msgid "Setup.OSD$Fixed font size (pixel)" -msgstr "Mida font fixa" +msgid "Setup.OSD$Fixed font size (%)" +msgstr "Mida font fixa (%)" msgid "Setup.OSD$Channel info position" msgstr "Posició de la informació del canal" diff --git a/po/cs_CZ.po b/po/cs_CZ.po index cd5b66b..a50a33d 100644 --- a/po/cs_CZ.po +++ b/po/cs_CZ.po @@ -493,17 +493,17 @@ msgstr "Vzhled" msgid "Setup.OSD$Theme" msgstr "Téma" -msgid "Setup.OSD$Left" -msgstr "Vlevo" +msgid "Setup.OSD$Left (%)" +msgstr "Vlevo (%)" -msgid "Setup.OSD$Top" -msgstr "Nahoøe" +msgid "Setup.OSD$Top (%)" +msgstr "Nahoøe (%)" -msgid "Setup.OSD$Width" -msgstr "©íøka" +msgid "Setup.OSD$Width (%)" +msgstr "©íøka (%)" -msgid "Setup.OSD$Height" -msgstr "Vý¹ka" +msgid "Setup.OSD$Height (%)" +msgstr "Vý¹ka (%)" msgid "Setup.OSD$Message time (s)" msgstr "Èas zobrazení zpávy (s)" @@ -523,14 +523,14 @@ msgstr "Mal msgid "Setup.OSD$Fixed font" msgstr "Fixní písmo" -msgid "Setup.OSD$Default font size (pixel)" -msgstr "Velikost výchozího písma (pixely)" +msgid "Setup.OSD$Default font size (%)" +msgstr "Velikost výchozího písma (%)" -msgid "Setup.OSD$Small font size (pixel)" -msgstr "Velikost malého písma (pixely)" +msgid "Setup.OSD$Small font size (%)" +msgstr "Velikost malého písma (%)" -msgid "Setup.OSD$Fixed font size (pixel)" -msgstr "Velikost fixního písma (pixely)" +msgid "Setup.OSD$Fixed font size (%)" +msgstr "Velikost fixního písma (%)" msgid "Setup.OSD$Channel info position" msgstr "Pozice informace o kanálu" diff --git a/po/da_DK.po b/po/da_DK.po index ffe5a8d..e8d05c8 100644 --- a/po/da_DK.po +++ b/po/da_DK.po @@ -492,17 +492,17 @@ msgstr "Skin" msgid "Setup.OSD$Theme" msgstr "Tema" -msgid "Setup.OSD$Left" -msgstr "Venstre" +msgid "Setup.OSD$Left (%)" +msgstr "Venstre (%)" -msgid "Setup.OSD$Top" -msgstr "Top" +msgid "Setup.OSD$Top (%)" +msgstr "Top (%)" -msgid "Setup.OSD$Width" -msgstr "Bredde" +msgid "Setup.OSD$Width (%)" +msgstr "Bredde (%)" -msgid "Setup.OSD$Height" -msgstr "Højde" +msgid "Setup.OSD$Height (%)" +msgstr "Højde (%)" msgid "Setup.OSD$Message time (s)" msgstr "Tid beskeder skal vises (s)" @@ -522,14 +522,14 @@ msgstr "Lille skrift" msgid "Setup.OSD$Fixed font" msgstr "Fast skrift" -msgid "Setup.OSD$Default font size (pixel)" -msgstr "Standard skrift størrelse (pixel)" +msgid "Setup.OSD$Default font size (%)" +msgstr "Standard skrift størrelse (%)" -msgid "Setup.OSD$Small font size (pixel)" -msgstr "Lille skrift størrelse (pixel)" +msgid "Setup.OSD$Small font size (%)" +msgstr "Lille skrift størrelse (%)" -msgid "Setup.OSD$Fixed font size (pixel)" -msgstr "Fast skrift størrelse (pixel)" +msgid "Setup.OSD$Fixed font size (%)" +msgstr "Fast skrift størrelse (%)" msgid "Setup.OSD$Channel info position" msgstr "Placering af kanalinfo" diff --git a/po/de_DE.po b/po/de_DE.po index 0dba2b4..6b55d6a 100644 --- a/po/de_DE.po +++ b/po/de_DE.po @@ -492,17 +492,17 @@ msgstr "Oberfl msgid "Setup.OSD$Theme" msgstr "Thema" -msgid "Setup.OSD$Left" -msgstr "Links" +msgid "Setup.OSD$Left (%)" +msgstr "Links (%)" -msgid "Setup.OSD$Top" -msgstr "Oben" +msgid "Setup.OSD$Top (%)" +msgstr "Oben (%)" -msgid "Setup.OSD$Width" -msgstr "Breite" +msgid "Setup.OSD$Width (%)" +msgstr "Breite (%)" -msgid "Setup.OSD$Height" -msgstr "Höhe" +msgid "Setup.OSD$Height (%)" +msgstr "Höhe (%)" msgid "Setup.OSD$Message time (s)" msgstr "Anzeigedauer für Nachrichten (s)" @@ -522,14 +522,14 @@ msgstr "Kleine Schriftart" msgid "Setup.OSD$Fixed font" msgstr "Festbreiten-Schriftart" -msgid "Setup.OSD$Default font size (pixel)" -msgstr "Standard-Schriftgröße (pixel)" +msgid "Setup.OSD$Default font size (%)" +msgstr "Standard-Schriftgröße (%)" -msgid "Setup.OSD$Small font size (pixel)" -msgstr "Kleine Schriftgröße (pixel)" +msgid "Setup.OSD$Small font size (%)" +msgstr "Kleine Schriftgröße (%)" -msgid "Setup.OSD$Fixed font size (pixel)" -msgstr "Festbreiten-Schriftgröße (pixel)" +msgid "Setup.OSD$Fixed font size (%)" +msgstr "Festbreiten-Schriftgröße (%)" msgid "Setup.OSD$Channel info position" msgstr "Kanalinfo-Position" diff --git a/po/el_GR.po b/po/el_GR.po index 7446e8a..90ff04d 100644 --- a/po/el_GR.po +++ b/po/el_GR.po @@ -492,17 +492,17 @@ msgstr " msgid "Setup.OSD$Theme" msgstr "ÈÝìá" -msgid "Setup.OSD$Left" -msgstr "ÁñéóôåñÜ" +msgid "Setup.OSD$Left (%)" +msgstr "ÁñéóôåñÜ (%)" -msgid "Setup.OSD$Top" -msgstr "ÅðÜíù" +msgid "Setup.OSD$Top (%)" +msgstr "ÅðÜíù (%)" -msgid "Setup.OSD$Width" -msgstr "ÌÜêñïò" +msgid "Setup.OSD$Width (%)" +msgstr "ÌÜêñïò (%)" -msgid "Setup.OSD$Height" -msgstr "¾øïò" +msgid "Setup.OSD$Height (%)" +msgstr "¾øïò (%)" msgid "Setup.OSD$Message time (s)" msgstr "×ñüíïò Ýíäåéîçò ìõíçìÜôùí (ä)" @@ -522,13 +522,13 @@ msgstr "" msgid "Setup.OSD$Fixed font" msgstr "" -msgid "Setup.OSD$Default font size (pixel)" +msgid "Setup.OSD$Default font size (%)" msgstr "" -msgid "Setup.OSD$Small font size (pixel)" +msgid "Setup.OSD$Small font size (%)" msgstr "" -msgid "Setup.OSD$Fixed font size (pixel)" +msgid "Setup.OSD$Fixed font size (%)" msgstr "" msgid "Setup.OSD$Channel info position" diff --git a/po/es_ES.po b/po/es_ES.po index ef50496..667d650 100644 --- a/po/es_ES.po +++ b/po/es_ES.po @@ -493,17 +493,17 @@ msgstr "Skin" msgid "Setup.OSD$Theme" msgstr "Tema" -msgid "Setup.OSD$Left" -msgstr "Izquierda" +msgid "Setup.OSD$Left (%)" +msgstr "Izquierda (%)" -msgid "Setup.OSD$Top" -msgstr "Arriba" +msgid "Setup.OSD$Top (%)" +msgstr "Arriba (%)" -msgid "Setup.OSD$Width" -msgstr "Anchura" +msgid "Setup.OSD$Width (%)" +msgstr "Anchura (%)" -msgid "Setup.OSD$Height" -msgstr "Altura" +msgid "Setup.OSD$Height (%)" +msgstr "Altura (%)" msgid "Setup.OSD$Message time (s)" msgstr "Duración de los mensajes (sg)" @@ -523,14 +523,14 @@ msgstr "Fuente peque msgid "Setup.OSD$Fixed font" msgstr "Fuente fija" -msgid "Setup.OSD$Default font size (pixel)" -msgstr "Tamaño fuente por defecto (pixel)" +msgid "Setup.OSD$Default font size (%)" +msgstr "Tamaño fuente por defecto (%)" -msgid "Setup.OSD$Small font size (pixel)" -msgstr "Tamaño fuente pequeña (pixel)" +msgid "Setup.OSD$Small font size (%)" +msgstr "Tamaño fuente pequeña (%)" -msgid "Setup.OSD$Fixed font size (pixel)" -msgstr "Tamaño fuente fija (pixel)" +msgid "Setup.OSD$Fixed font size (%)" +msgstr "Tamaño fuente fija (%)" msgid "Setup.OSD$Channel info position" msgstr "Posición para información de canal" diff --git a/po/et_EE.po b/po/et_EE.po index dcbe854..ff66d8a 100644 --- a/po/et_EE.po +++ b/po/et_EE.po @@ -492,17 +492,17 @@ msgstr "Kest" msgid "Setup.OSD$Theme" msgstr "Teema" -msgid "Setup.OSD$Left" -msgstr "Vasakule" +msgid "Setup.OSD$Left (%)" +msgstr "Vasakule (%)" -msgid "Setup.OSD$Top" -msgstr "Ülesse" +msgid "Setup.OSD$Top (%)" +msgstr "Ülesse (%)" -msgid "Setup.OSD$Width" -msgstr "Laius" +msgid "Setup.OSD$Width (%)" +msgstr "Laius (%)" -msgid "Setup.OSD$Height" -msgstr "Kõrgus" +msgid "Setup.OSD$Height (%)" +msgstr "Kõrgus (%)" msgid "Setup.OSD$Message time (s)" msgstr "Teate esitusaeg (s)" @@ -522,14 +522,14 @@ msgstr "V msgid "Setup.OSD$Fixed font" msgstr "Fikseeritud font" -msgid "Setup.OSD$Default font size (pixel)" -msgstr "Vaikefondi suurus (px)" +msgid "Setup.OSD$Default font size (%)" +msgstr "Vaikefondi suurus (%)" -msgid "Setup.OSD$Small font size (pixel)" -msgstr "Väikese fondi suurus (px)" +msgid "Setup.OSD$Small font size (%)" +msgstr "Väikese fondi suurus (%)" -msgid "Setup.OSD$Fixed font size (pixel)" -msgstr "Fiks. fondi suurus (px)" +msgid "Setup.OSD$Fixed font size (%)" +msgstr "Fiks. fondi suurus (%)" msgid "Setup.OSD$Channel info position" msgstr "Kanaliinfo asukoht" diff --git a/po/fi_FI.po b/po/fi_FI.po index 76df2cf..ed5b94d 100644 --- a/po/fi_FI.po +++ b/po/fi_FI.po @@ -495,17 +495,17 @@ msgstr "Ulkoasu" msgid "Setup.OSD$Theme" msgstr "Teema" -msgid "Setup.OSD$Left" -msgstr "Vaakakeskitys" +msgid "Setup.OSD$Left (%)" +msgstr "Vaakakeskitys (%)" -msgid "Setup.OSD$Top" -msgstr "Pystykeskitys" +msgid "Setup.OSD$Top (%)" +msgstr "Pystykeskitys (%)" -msgid "Setup.OSD$Width" -msgstr "Leveys" +msgid "Setup.OSD$Width (%)" +msgstr "Leveys (%)" -msgid "Setup.OSD$Height" -msgstr "Korkeus" +msgid "Setup.OSD$Height (%)" +msgstr "Korkeus (%)" msgid "Setup.OSD$Message time (s)" msgstr "Viestien esitysaika (s)" @@ -525,14 +525,14 @@ msgstr "Pieni kirjasintyyppi" msgid "Setup.OSD$Fixed font" msgstr "Tasavälinen kirjasintyyppi" -msgid "Setup.OSD$Default font size (pixel)" -msgstr "Oletuskirjasintyypin koko (px)" +msgid "Setup.OSD$Default font size (%)" +msgstr "Oletuskirjasintyypin koko (%)" -msgid "Setup.OSD$Small font size (pixel)" -msgstr "Pienen kirjasintyypin koko (px)" +msgid "Setup.OSD$Small font size (%)" +msgstr "Pienen kirjasintyypin koko (%)" -msgid "Setup.OSD$Fixed font size (pixel)" -msgstr "Tasavälisen kirjasintyypin koko (px)" +msgid "Setup.OSD$Fixed font size (%)" +msgstr "Tasavälisen kirjasintyypin koko (%)" msgid "Setup.OSD$Channel info position" msgstr "Kanavatiedon sijainti" diff --git a/po/fr_FR.po b/po/fr_FR.po index 706f56f..5353625 100644 --- a/po/fr_FR.po +++ b/po/fr_FR.po @@ -498,17 +498,17 @@ msgstr "Skin" msgid "Setup.OSD$Theme" msgstr "Thème" -msgid "Setup.OSD$Left" -msgstr "Gauche" +msgid "Setup.OSD$Left (%)" +msgstr "Gauche (%)" -msgid "Setup.OSD$Top" -msgstr "Haut" +msgid "Setup.OSD$Top (%)" +msgstr "Haut (%)" -msgid "Setup.OSD$Width" -msgstr "Largeur" +msgid "Setup.OSD$Width (%)" +msgstr "Largeur (%)" -msgid "Setup.OSD$Height" -msgstr "Hauteur" +msgid "Setup.OSD$Height (%)" +msgstr "Hauteur (%)" msgid "Setup.OSD$Message time (s)" msgstr "Durée affichage message (s)" @@ -528,14 +528,14 @@ msgstr "Petite police" msgid "Setup.OSD$Fixed font" msgstr "Police taille fixe" -msgid "Setup.OSD$Default font size (pixel)" -msgstr "Taille police par défaut (pixel)" +msgid "Setup.OSD$Default font size (%)" +msgstr "Taille police par défaut (%)" -msgid "Setup.OSD$Small font size (pixel)" -msgstr "Taille petite police par défaut (pixel)" +msgid "Setup.OSD$Small font size (%)" +msgstr "Taille petite police par défaut (%)" -msgid "Setup.OSD$Fixed font size (pixel)" -msgstr "Taille police fixe par défaut (pixel)" +msgid "Setup.OSD$Fixed font size (%)" +msgstr "Taille police fixe par défaut (%)" msgid "Setup.OSD$Channel info position" msgstr "Position infos chaînes" diff --git a/po/hr_HR.po b/po/hr_HR.po index afddcef..9b409e3 100644 --- a/po/hr_HR.po +++ b/po/hr_HR.po @@ -494,17 +494,17 @@ msgstr "Povr msgid "Setup.OSD$Theme" msgstr "Tema" -msgid "Setup.OSD$Left" -msgstr "Lijevo" +msgid "Setup.OSD$Left (%)" +msgstr "Lijevo (%)" -msgid "Setup.OSD$Top" -msgstr "Gore" +msgid "Setup.OSD$Top (%)" +msgstr "Gore (%)" -msgid "Setup.OSD$Width" -msgstr "©irina" +msgid "Setup.OSD$Width (%)" +msgstr "©irina (%)" -msgid "Setup.OSD$Height" -msgstr "Visina" +msgid "Setup.OSD$Height (%)" +msgstr "Visina (%)" msgid "Setup.OSD$Message time (s)" msgstr "Vrijeme prikaza poruka (s)" @@ -524,14 +524,14 @@ msgstr "Maleni font" msgid "Setup.OSD$Fixed font" msgstr "Nepromjenjiv font" -msgid "Setup.OSD$Default font size (pixel)" -msgstr "Velièina zadanog fonta (piksel)" +msgid "Setup.OSD$Default font size (%)" +msgstr "Velièina zadanog fonta (%)" -msgid "Setup.OSD$Small font size (pixel)" -msgstr "Velièina malenog fonta (piksel)" +msgid "Setup.OSD$Small font size (%)" +msgstr "Velièina malenog fonta (%)" -msgid "Setup.OSD$Fixed font size (pixel)" -msgstr "Velièina nepromjenjivog fonta (piksel)" +msgid "Setup.OSD$Fixed font size (%)" +msgstr "Velièina nepromjenjivog fonta (%)" msgid "Setup.OSD$Channel info position" msgstr "Pozicija informacija o programu" diff --git a/po/hu_HU.po b/po/hu_HU.po index b9821d5..5c0a887 100644 --- a/po/hu_HU.po +++ b/po/hu_HU.po @@ -495,17 +495,17 @@ msgstr "Men msgid "Setup.OSD$Theme" msgstr "Téma" -msgid "Setup.OSD$Left" -msgstr "Balra" +msgid "Setup.OSD$Left (%)" +msgstr "Balra (%)" -msgid "Setup.OSD$Top" -msgstr "Fent" +msgid "Setup.OSD$Top (%)" +msgstr "Fent (%)" -msgid "Setup.OSD$Width" -msgstr "Szélesség" +msgid "Setup.OSD$Width (%)" +msgstr "Szélesség (%)" -msgid "Setup.OSD$Height" -msgstr "Magasság" +msgid "Setup.OSD$Height (%)" +msgstr "Magasság (%)" msgid "Setup.OSD$Message time (s)" msgstr "Információ feltûntetésének idõtartama" @@ -525,14 +525,14 @@ msgstr "Kis bet msgid "Setup.OSD$Fixed font" msgstr "Kötött betûtipus" -msgid "Setup.OSD$Default font size (pixel)" -msgstr "Alapértelmezett betûtipus méret (pixel)" +msgid "Setup.OSD$Default font size (%)" +msgstr "Alapértelmezett betûtipus méret (%)" -msgid "Setup.OSD$Small font size (pixel)" -msgstr "Kis betûtipus méret (pixel)" +msgid "Setup.OSD$Small font size (%)" +msgstr "Kis betûtipus méret (%)" -msgid "Setup.OSD$Fixed font size (pixel)" -msgstr "Kötött betûtipus méret (pixel)" +msgid "Setup.OSD$Fixed font size (%)" +msgstr "Kötött betûtipus méret (%)" msgid "Setup.OSD$Channel info position" msgstr "Adásinformáció poziciója" diff --git a/po/it_IT.po b/po/it_IT.po index 9b6d2fd..877191b 100644 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -499,17 +499,17 @@ msgstr "Stile interfaccia" msgid "Setup.OSD$Theme" msgstr "Tema colori" -msgid "Setup.OSD$Left" -msgstr "Sinistra" +msgid "Setup.OSD$Left (%)" +msgstr "Sinistra (%)" -msgid "Setup.OSD$Top" -msgstr "In alto" +msgid "Setup.OSD$Top (%)" +msgstr "In alto (%)" -msgid "Setup.OSD$Width" -msgstr "Larghezza OSD" +msgid "Setup.OSD$Width (%)" +msgstr "Larghezza OSD (%)" -msgid "Setup.OSD$Height" -msgstr "Altezza OSD" +msgid "Setup.OSD$Height (%)" +msgstr "Altezza OSD (%)" msgid "Setup.OSD$Message time (s)" msgstr "Durata del messaggio (s)" @@ -529,14 +529,14 @@ msgstr "Caratteri piccoli" msgid "Setup.OSD$Fixed font" msgstr "Caratteri fissi" -msgid "Setup.OSD$Default font size (pixel)" -msgstr "Dim. caratteri pred. (pixel)" +msgid "Setup.OSD$Default font size (%)" +msgstr "Dim. caratteri pred. (%)" -msgid "Setup.OSD$Small font size (pixel)" -msgstr "Dim. caratteri piccoli (pixel)" +msgid "Setup.OSD$Small font size (%)" +msgstr "Dim. caratteri piccoli (%)" -msgid "Setup.OSD$Fixed font size (pixel)" -msgstr "Dim. caratteri fissi (pixel)" +msgid "Setup.OSD$Fixed font size (%)" +msgstr "Dim. caratteri fissi (%)" msgid "Setup.OSD$Channel info position" msgstr "Posizione info canale" diff --git a/po/nl_NL.po b/po/nl_NL.po index 17a0953..36a9922 100644 --- a/po/nl_NL.po +++ b/po/nl_NL.po @@ -496,17 +496,17 @@ msgstr "Skin" msgid "Setup.OSD$Theme" msgstr "Thema" -msgid "Setup.OSD$Left" -msgstr "Links" +msgid "Setup.OSD$Left (%)" +msgstr "Links (%)" -msgid "Setup.OSD$Top" -msgstr "Boven" +msgid "Setup.OSD$Top (%)" +msgstr "Boven (%)" -msgid "Setup.OSD$Width" -msgstr "Breedte" +msgid "Setup.OSD$Width (%)" +msgstr "Breedte (%)" -msgid "Setup.OSD$Height" -msgstr "Hoogte" +msgid "Setup.OSD$Height (%)" +msgstr "Hoogte (%)" msgid "Setup.OSD$Message time (s)" msgstr "Weergave duur van berichten (s)" @@ -526,14 +526,14 @@ msgstr "Kleine lettertype" msgid "Setup.OSD$Fixed font" msgstr "Letter met vaste breedte" -msgid "Setup.OSD$Default font size (pixel)" -msgstr "Afmetingen standaard lettertype (pixel)" +msgid "Setup.OSD$Default font size (%)" +msgstr "Afmetingen standaard lettertype (%)" -msgid "Setup.OSD$Small font size (pixel)" -msgstr "Afmetingen klein lettertype (pixel)" +msgid "Setup.OSD$Small font size (%)" +msgstr "Afmetingen klein lettertype (%)" -msgid "Setup.OSD$Fixed font size (pixel)" -msgstr "Afmetingen lettertype met vaste breedte (pixel)" +msgid "Setup.OSD$Fixed font size (%)" +msgstr "Afmetingen lettertype met vaste breedte (%)" msgid "Setup.OSD$Channel info position" msgstr "Kanaal info positie" diff --git a/po/nn_NO.po b/po/nn_NO.po index 06f6b87..2445b02 100644 --- a/po/nn_NO.po +++ b/po/nn_NO.po @@ -493,17 +493,17 @@ msgstr "" msgid "Setup.OSD$Theme" msgstr "" -msgid "Setup.OSD$Left" +msgid "Setup.OSD$Left (%)" msgstr "" -msgid "Setup.OSD$Top" +msgid "Setup.OSD$Top (%)" msgstr "" -msgid "Setup.OSD$Width" -msgstr "Bredde" +msgid "Setup.OSD$Width (%)" +msgstr "Bredde (%)" -msgid "Setup.OSD$Height" -msgstr "Høyde" +msgid "Setup.OSD$Height (%)" +msgstr "Høyde (%)" msgid "Setup.OSD$Message time (s)" msgstr "Tid meldinger skal vises (s)" @@ -523,13 +523,13 @@ msgstr "" msgid "Setup.OSD$Fixed font" msgstr "" -msgid "Setup.OSD$Default font size (pixel)" +msgid "Setup.OSD$Default font size (%)" msgstr "" -msgid "Setup.OSD$Small font size (pixel)" +msgid "Setup.OSD$Small font size (%)" msgstr "" -msgid "Setup.OSD$Fixed font size (pixel)" +msgid "Setup.OSD$Fixed font size (%)" msgstr "" msgid "Setup.OSD$Channel info position" diff --git a/po/pl_PL.po b/po/pl_PL.po index ea70463..860094a 100644 --- a/po/pl_PL.po +++ b/po/pl_PL.po @@ -493,17 +493,17 @@ msgstr "Sk msgid "Setup.OSD$Theme" msgstr "Motyw" -msgid "Setup.OSD$Left" -msgstr "Od lewej" +msgid "Setup.OSD$Left (%)" +msgstr "Od lewej (%)" -msgid "Setup.OSD$Top" -msgstr "Od góry" +msgid "Setup.OSD$Top (%)" +msgstr "Od góry (%)" -msgid "Setup.OSD$Width" -msgstr "Szeroko¶æ" +msgid "Setup.OSD$Width (%)" +msgstr "Szeroko¶æ (%)" -msgid "Setup.OSD$Height" -msgstr "Wysoko¶æ" +msgid "Setup.OSD$Height (%)" +msgstr "Wysoko¶æ (%)" msgid "Setup.OSD$Message time (s)" msgstr "Czas trwania wiadomo¶ci (s)" @@ -523,14 +523,14 @@ msgstr "Ma msgid "Setup.OSD$Fixed font" msgstr "Sta³a czcionka" -msgid "Setup.OSD$Default font size (pixel)" -msgstr "Standardowa czcionka wyj¶ciowa (pixle)" +msgid "Setup.OSD$Default font size (%)" +msgstr "Standardowa czcionka wyj¶ciowa (%)" -msgid "Setup.OSD$Small font size (pixel)" -msgstr "Ma³a czcionka wyj¶ciowa (pixle)" +msgid "Setup.OSD$Small font size (%)" +msgstr "Ma³a czcionka wyj¶ciowa (%)" -msgid "Setup.OSD$Fixed font size (pixel)" -msgstr "Ustalona czcionka wyj¶ciowa (pixle)" +msgid "Setup.OSD$Fixed font size (%)" +msgstr "Ustalona czcionka wyj¶ciowa (%)" msgid "Setup.OSD$Channel info position" msgstr "Pozycja informacji o kanale" diff --git a/po/pt_PT.po b/po/pt_PT.po index 2182f66..fa4767f 100644 --- a/po/pt_PT.po +++ b/po/pt_PT.po @@ -492,17 +492,17 @@ msgstr "Skin" msgid "Setup.OSD$Theme" msgstr "Tema" -msgid "Setup.OSD$Left" -msgstr "Esquerda" +msgid "Setup.OSD$Left (%)" +msgstr "Esquerda (%)" -msgid "Setup.OSD$Top" -msgstr "Topo" +msgid "Setup.OSD$Top (%)" +msgstr "Topo (%)" -msgid "Setup.OSD$Width" -msgstr "Largura" +msgid "Setup.OSD$Width (%)" +msgstr "Largura (%)" -msgid "Setup.OSD$Height" -msgstr "Altura" +msgid "Setup.OSD$Height (%)" +msgstr "Altura (%)" msgid "Setup.OSD$Message time (s)" msgstr "Duração das mensagem (s)" @@ -522,14 +522,14 @@ msgstr "Fonte pequena" msgid "Setup.OSD$Fixed font" msgstr "Fonte Fixa" -msgid "Setup.OSD$Default font size (pixel)" -msgstr "Tamanho por defeito de fonte (pixel)" +msgid "Setup.OSD$Default font size (%)" +msgstr "Tamanho por defeito de fonte (%)" -msgid "Setup.OSD$Small font size (pixel)" -msgstr "Tamanho da fonte pequena (pixel)" +msgid "Setup.OSD$Small font size (%)" +msgstr "Tamanho da fonte pequena (%)" -msgid "Setup.OSD$Fixed font size (pixel)" -msgstr "Tamanho da fonte fixa (pixel)" +msgid "Setup.OSD$Fixed font size (%)" +msgstr "Tamanho da fonte fixa (%)" msgid "Setup.OSD$Channel info position" msgstr "Posição de info dos canais" diff --git a/po/ro_RO.po b/po/ro_RO.po index b7a5ca9..0c6013c 100644 --- a/po/ro_RO.po +++ b/po/ro_RO.po @@ -495,17 +495,17 @@ msgstr "Skin" msgid "Setup.OSD$Theme" msgstr "Temã" -msgid "Setup.OSD$Left" -msgstr "Stânga" +msgid "Setup.OSD$Left (%)" +msgstr "Stânga (%)" -msgid "Setup.OSD$Top" -msgstr "Sus" +msgid "Setup.OSD$Top (%)" +msgstr "Sus (%)" -msgid "Setup.OSD$Width" -msgstr "Lãþime OSD" +msgid "Setup.OSD$Width (%)" +msgstr "Lãþime OSD (%)" -msgid "Setup.OSD$Height" -msgstr "Înãlþime OSD" +msgid "Setup.OSD$Height (%)" +msgstr "Înãlþime OSD (%)" msgid "Setup.OSD$Message time (s)" msgstr "Timp afiºare mesaje (sec)" @@ -525,14 +525,14 @@ msgstr "Font mic" msgid "Setup.OSD$Fixed font" msgstr "Font cu lãþime fixã" -msgid "Setup.OSD$Default font size (pixel)" -msgstr "Mãrimea implicitã a fontului (pixeli)" +msgid "Setup.OSD$Default font size (%)" +msgstr "Mãrimea implicitã a fontului (%)" -msgid "Setup.OSD$Small font size (pixel)" -msgstr "Mãrimea 'micã' a fontului (pixeli)" +msgid "Setup.OSD$Small font size (%)" +msgstr "Mãrimea 'micã' a fontului (%)" -msgid "Setup.OSD$Fixed font size (pixel)" -msgstr "Mãrimea 'fixã' a fontului (pixeli)" +msgid "Setup.OSD$Fixed font size (%)" +msgstr "Mãrimea 'fixã' a fontului (%)" msgid "Setup.OSD$Channel info position" msgstr "Poziþia informaþiilor despre canal" diff --git a/po/ru_RU.po b/po/ru_RU.po index a3c19cd..a0a2555 100644 --- a/po/ru_RU.po +++ b/po/ru_RU.po @@ -493,17 +493,17 @@ msgstr " msgid "Setup.OSD$Theme" msgstr "ÂÕÜÐ" -msgid "Setup.OSD$Left" -msgstr "¾âáâãß áÛÕÒÐ" +msgid "Setup.OSD$Left (%)" +msgstr "¾âáâãß áÛÕÒÐ (%)" -msgid "Setup.OSD$Top" -msgstr "¾âáâãß áÒÕàåã" +msgid "Setup.OSD$Top (%)" +msgstr "¾âáâãß áÒÕàåã (%)" -msgid "Setup.OSD$Width" -msgstr "ÈØàØÝÐ" +msgid "Setup.OSD$Width (%)" +msgstr "ÈØàØÝÐ (%)" -msgid "Setup.OSD$Height" -msgstr "²ëáÞâÐ" +msgid "Setup.OSD$Height (%)" +msgstr "²ëáÞâÐ (%)" msgid "Setup.OSD$Message time (s)" msgstr "´ÛØâÕÛìÝÞáâì ßÞÚÐ×Ð áÞÞÑéÕÝØÙ (áÕÚ)" @@ -523,14 +523,14 @@ msgstr " msgid "Setup.OSD$Fixed font" msgstr "ÄØÚáØàÞÒÐÝÝëÙ äÞÝâ" -msgid "Setup.OSD$Default font size (pixel)" -msgstr "ÀÐ×ÜÕà äÞÝâÐ ÔÛï ÜÕÝî (pixel)" +msgid "Setup.OSD$Default font size (%)" +msgstr "ÀÐ×ÜÕà äÞÝâÐ ÔÛï ÜÕÝî (%)" -msgid "Setup.OSD$Small font size (pixel)" -msgstr "ÀÐ×ÜÕà ÜÕÛÚÞÓÞ äÞÝâÐ (pixel)" +msgid "Setup.OSD$Small font size (%)" +msgstr "ÀÐ×ÜÕà ÜÕÛÚÞÓÞ äÞÝâÐ (%)" -msgid "Setup.OSD$Fixed font size (pixel)" -msgstr "ÀÐ×ÜÕà äØÚáØàÞÒÐÝÝÞÓÞ äÞÝâÐ (pixel)" +msgid "Setup.OSD$Fixed font size (%)" +msgstr "ÀÐ×ÜÕà äØÚáØàÞÒÐÝÝÞÓÞ äÞÝâÐ (%)" msgid "Setup.OSD$Channel info position" msgstr "¿ÞÛÞÖÕÝØÕ ÞÚÝÐ ØÝäÞàÜÐæØØ Þ ÚÐÝÐÛÕ" diff --git a/po/sl_SI.po b/po/sl_SI.po index 6f3d041..347e599 100644 --- a/po/sl_SI.po +++ b/po/sl_SI.po @@ -493,17 +493,17 @@ msgstr "Preobleka" msgid "Setup.OSD$Theme" msgstr "Tema" -msgid "Setup.OSD$Left" -msgstr "Levo" +msgid "Setup.OSD$Left (%)" +msgstr "Levo (%)" -msgid "Setup.OSD$Top" -msgstr "Zgoraj" +msgid "Setup.OSD$Top (%)" +msgstr "Zgoraj (%)" -msgid "Setup.OSD$Width" -msgstr "©irina" +msgid "Setup.OSD$Width (%)" +msgstr "©irina (%)" -msgid "Setup.OSD$Height" -msgstr "Vi¹ina" +msgid "Setup.OSD$Height (%)" +msgstr "Vi¹ina (%)" msgid "Setup.OSD$Message time (s)" msgstr "Èas prikaza sporoèila (s)" @@ -523,14 +523,14 @@ msgstr "Mala pisava" msgid "Setup.OSD$Fixed font" msgstr "Fiksna pisava" -msgid "Setup.OSD$Default font size (pixel)" -msgstr "Privzeta velikost pisave (pixel)" +msgid "Setup.OSD$Default font size (%)" +msgstr "Privzeta velikost pisave (%)" -msgid "Setup.OSD$Small font size (pixel)" -msgstr "Majhna velikost pisave (pixel)" +msgid "Setup.OSD$Small font size (%)" +msgstr "Majhna velikost pisave (%)" -msgid "Setup.OSD$Fixed font size (pixel)" -msgstr "Pozicija informacije o kanalu" +msgid "Setup.OSD$Fixed font size (%)" +msgstr "" msgid "Setup.OSD$Channel info position" msgstr "Pozicija informacije o kanalu" diff --git a/po/sv_SE.po b/po/sv_SE.po index 5f8d20d..d47da8a 100644 --- a/po/sv_SE.po +++ b/po/sv_SE.po @@ -495,17 +495,17 @@ msgstr "Skin" msgid "Setup.OSD$Theme" msgstr "Tema" -msgid "Setup.OSD$Left" -msgstr "Vänster" +msgid "Setup.OSD$Left (%)" +msgstr "Vänster (%)" -msgid "Setup.OSD$Top" -msgstr "Övre" +msgid "Setup.OSD$Top (%)" +msgstr "Övre (%)" -msgid "Setup.OSD$Width" -msgstr "Bredd" +msgid "Setup.OSD$Width (%)" +msgstr "Bredd (%)" -msgid "Setup.OSD$Height" -msgstr "Höjd" +msgid "Setup.OSD$Height (%)" +msgstr "Höjd (%)" msgid "Setup.OSD$Message time (s)" msgstr "Tid för meddelanden (sek)" @@ -525,14 +525,14 @@ msgstr "Sm msgid "Setup.OSD$Fixed font" msgstr "Fast typsnitt" -msgid "Setup.OSD$Default font size (pixel)" -msgstr "Fontstorlek standard (pixel)" +msgid "Setup.OSD$Default font size (%)" +msgstr "Fontstorlek standard (%)" -msgid "Setup.OSD$Small font size (pixel)" -msgstr "Fontstorlek liten text (pixel)" +msgid "Setup.OSD$Small font size (%)" +msgstr "Fontstorlek liten text (%)" -msgid "Setup.OSD$Fixed font size (pixel)" -msgstr "Fast fontstorlek (pixel)" +msgid "Setup.OSD$Fixed font size (%)" +msgstr "Fast fontstorlek (%)" msgid "Setup.OSD$Channel info position" msgstr "Placering av kanalinformation" diff --git a/po/tr_TR.po b/po/tr_TR.po index a5496d3..abdb594 100644 --- a/po/tr_TR.po +++ b/po/tr_TR.po @@ -492,17 +492,17 @@ msgstr "Y msgid "Setup.OSD$Theme" msgstr "Tema" -msgid "Setup.OSD$Left" -msgstr "Sol" +msgid "Setup.OSD$Left (%)" +msgstr "Sol (%)" -msgid "Setup.OSD$Top" -msgstr "Üst" +msgid "Setup.OSD$Top (%)" +msgstr "Üst (%)" -msgid "Setup.OSD$Width" -msgstr "Geniþlik" +msgid "Setup.OSD$Width (%)" +msgstr "Geniþlik (%)" -msgid "Setup.OSD$Height" -msgstr "Yükseklik" +msgid "Setup.OSD$Height (%)" +msgstr "Yükseklik (%)" msgid "Setup.OSD$Message time (s)" msgstr "Mesaj gösterme zamaný (sn)" @@ -522,14 +522,14 @@ msgstr "K msgid "Setup.OSD$Fixed font" msgstr "Çakýlý font" -msgid "Setup.OSD$Default font size (pixel)" -msgstr "Olaðan font boyutu (pixel)" +msgid "Setup.OSD$Default font size (%)" +msgstr "Olaðan font boyutu (%)" -msgid "Setup.OSD$Small font size (pixel)" -msgstr "Küçük font boyutu (pixel)" +msgid "Setup.OSD$Small font size (%)" +msgstr "Küçük font boyutu (%)" -msgid "Setup.OSD$Fixed font size (pixel)" -msgstr "Çakýlý font boyutu (pixel)" +msgid "Setup.OSD$Fixed font size (%)" +msgstr "Çakýlý font boyutu (%)" msgid "Setup.OSD$Channel info position" msgstr "Kanal bilgi pozisyonu" diff --git a/po/uk_UA.po b/po/uk_UA.po index 9fe0013..3d566fc 100644 --- a/po/uk_UA.po +++ b/po/uk_UA.po @@ -492,17 +492,17 @@ msgstr " msgid "Setup.OSD$Theme" msgstr "ÂÕÜÐ" -msgid "Setup.OSD$Left" -msgstr "²öÔáâãß ×ÛöÒÐ" +msgid "Setup.OSD$Left (%)" +msgstr "²öÔáâãß ×ÛöÒÐ (%)" -msgid "Setup.OSD$Top" -msgstr "²öÔáâãß ×ÒÕàåã" +msgid "Setup.OSD$Top (%)" +msgstr "²öÔáâãß ×ÒÕàåã (%)" -msgid "Setup.OSD$Width" -msgstr "ÈØàØÝÐ" +msgid "Setup.OSD$Width (%)" +msgstr "ÈØàØÝÐ (%)" -msgid "Setup.OSD$Height" -msgstr "²ØáÞâÐ" +msgid "Setup.OSD$Height (%)" +msgstr "²ØáÞâÐ (%)" msgid "Setup.OSD$Message time (s)" msgstr "ÂàØÒÐÛöáâì ßÞÚÐ×ã ßÞÒöÔÞÜÛÕÝì (áÕÚ)" @@ -522,14 +522,14 @@ msgstr " msgid "Setup.OSD$Fixed font" msgstr "ÄöÚáÞÒÐÝØÙ äÞÝâ" -msgid "Setup.OSD$Default font size (pixel)" -msgstr "ÀÐ×Üöà äÞÝâÐ ÔÛï ÜÕÝî (pixel)" +msgid "Setup.OSD$Default font size (%)" +msgstr "ÀÐ×Üöà äÞÝâÐ ÔÛï ÜÕÝî (%)" -msgid "Setup.OSD$Small font size (pixel)" -msgstr "ÀÐ×Üöà ÜÐÛÞÓÞ äÞÝâÐ (pixel)" +msgid "Setup.OSD$Small font size (%)" +msgstr "ÀÐ×Üöà ÜÐÛÞÓÞ äÞÝâÐ (%)" -msgid "Setup.OSD$Fixed font size (pixel)" -msgstr "ÀÐ×Üöà äöÚáÞÒÐÝÞÓÞ äÞÝâÐ (pixel)" +msgid "Setup.OSD$Fixed font size (%)" +msgstr "ÀÐ×Üöà äöÚáÞÒÐÝÞÓÞ äÞÝâÐ (%)" msgid "Setup.OSD$Channel info position" msgstr "¿ÞÛÞÖÕÝÝï ÒöÚÝÐ öÝäÞàÜÐæö÷ ßàÞ ÚÐÝÐÛ" diff --git a/po/zh_CN.po b/po/zh_CN.po index 04d16ce..92b20a7 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -495,17 +495,17 @@ msgstr "外壳" msgid "Setup.OSD$Theme" msgstr "主题" -msgid "Setup.OSD$Left" -msgstr "å·¦" +msgid "Setup.OSD$Left (%)" +msgstr "å·¦ (%)" -msgid "Setup.OSD$Top" -msgstr "顶部" +msgid "Setup.OSD$Top (%)" +msgstr "顶部 (%)" -msgid "Setup.OSD$Width" -msgstr "宽" +msgid "Setup.OSD$Width (%)" +msgstr "宽 (%)" -msgid "Setup.OSD$Height" -msgstr "高" +msgid "Setup.OSD$Height (%)" +msgstr "高 (%)" msgid "Setup.OSD$Message time (s)" msgstr "æ—¶é—´ä¿¡æ¯ (s)" @@ -525,14 +525,14 @@ msgstr "å°å­—体" msgid "Setup.OSD$Fixed font" msgstr "固定字体" -msgid "Setup.OSD$Default font size (pixel)" -msgstr "é»˜è®¤å­—ä½“å¤§å° (åƒç´ )" +msgid "Setup.OSD$Default font size (%)" +msgstr "é»˜è®¤å­—ä½“å¤§å° (%)" -msgid "Setup.OSD$Small font size (pixel)" -msgstr "å°å­—体 (åƒç´ )" +msgid "Setup.OSD$Small font size (%)" +msgstr "å°å­—体 (%)" -msgid "Setup.OSD$Fixed font size (pixel)" -msgstr "固定的字体 (åƒç´ )" +msgid "Setup.OSD$Fixed font size (%)" +msgstr "固定的字体 (%)" msgid "Setup.OSD$Channel info position" msgstr "频é“ä¿¡æ¯ä½ç½®" diff --git a/remux.c b/remux.c index 10e5145..58c0531 100644 --- a/remux.c +++ b/remux.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: remux.c 2.19 2009/04/19 10:59:56 kls Exp $ + * $Id: remux.c 2.20 2009/05/03 14:43:25 kls Exp $ */ #include "remux.h" @@ -722,6 +722,13 @@ int cFrameDetector::Analyze(const uchar *Data, int Length) int Processed = 0; newFrame = independentFrame = false; while (Length >= TS_SIZE) { + if (Data[0] != TS_SYNC_BYTE) { + int Skipped = 1; + while (Skipped < Length && (Data[Skipped] != TS_SYNC_BYTE || Length - Skipped > TS_SIZE && Data[Skipped + TS_SIZE] != TS_SYNC_BYTE)) + Skipped++; + esyslog("ERROR: skipped %d bytes to sync on start of TS packet", Skipped); + return Processed + Skipped; + } if (TsHasPayload(Data) && !TsIsScrambled(Data) && TsPid(Data) == pid) { if (TsPayloadStart(Data)) { if (!frameDuration) { diff --git a/vdr.c b/vdr.c index 36942a5..46e4200 100644 --- a/vdr.c +++ b/vdr.c @@ -22,7 +22,7 @@ * * The project's page is at http://www.cadsoft.de/vdr * - * $Id: vdr.c 2.7 2009/04/05 13:21:46 kls Exp $ + * $Id: vdr.c 2.8 2009/05/03 10:33:06 kls Exp $ */ #include @@ -747,6 +747,12 @@ int main(int argc, char *argv[]) CheckHasProgramme = false; } } + // Update the OSD size: + { + static time_t lastOsdSizeUpdate = 0; + if (Now != lastOsdSizeUpdate) // once per second + cOsdProvider::UpdateOsdSize(); + } // Restart the Watchdog timer: if (WatchdogTimeout > 0) { int LatencyTime = WatchdogTimeout - alarm(WatchdogTimeout); -- cgit v1.2.3