diff options
author | monty35 <videosrc@vdr.muc.bieringer.de> | 2008-12-20 09:24:51 +0100 |
---|---|---|
committer | monty35 <videosrc@vdr.muc.bieringer.de> | 2008-12-20 09:24:51 +0100 |
commit | 3308e0c0b652a77466cdeb9c2ce3e771c87fd818 (patch) | |
tree | 927800d9ecfddc6b0d58aea350528706845737f1 | |
parent | dabdbe5409bacc56e22461a6a1ff9b736381b158 (diff) | |
download | vdr-plugin-tvtv-3308e0c0b652a77466cdeb9c2ce3e771c87fd818.tar.gz vdr-plugin-tvtv-3308e0c0b652a77466cdeb9c2ce3e771c87fd818.tar.bz2 |
Import patch to 0.3.3p8
-rw-r--r-- | HISTORY | 9 | ||||
-rw-r--r-- | Makefile | 38 | ||||
-rw-r--r-- | README | 15 | ||||
-rw-r--r-- | config.h | 13 | ||||
-rw-r--r-- | examples/tvtv_channelmap.conf_DVB-S | 2 | ||||
-rw-r--r-- | examples/tvtv_channelmap.conf_DVB_C_Mch (renamed from tvtv_channelmap.conf_DVB_C_Mch) | 0 | ||||
-rw-r--r-- | i18n.c | 677 | ||||
-rw-r--r-- | i18n.h | 16 | ||||
-rw-r--r-- | messages.po | 113 | ||||
-rw-r--r-- | po/de_DE.po | 111 | ||||
-rw-r--r-- | po/tvtv.pot | 110 | ||||
-rw-r--r-- | tvtv.c | 25 | ||||
-rw-r--r-- | update.c | 159 | ||||
-rw-r--r-- | update.h | 1 |
14 files changed, 553 insertions, 736 deletions
@@ -1,6 +1,15 @@ VDR Plugin 'tvtv' Revision History ----------------------------------- +2008-12-01: Version 0.3.3p8 +- Take care of Start/Stop margins for timer check (thx to monty35) +- Adjust log level for all the bugs (thx to monty35) +- Adjust log level for TVTV receiving line for better error tracking (thx to monty35) +- Add support for manual timezone offset fix, supported also DST or non-DST only and can + be also ignored (thx to monty35) +- examples/tvtv_channelmap.conf_DVB-S: fix ARTE (reported by uclara) +- change translation support from i18n to gettext (mo/po) + 2008-11-11: Version 0.3.3p7 - Create a toggle to control adding of ongoing non-VPS timers ((thx to monty35) Note: if "off", this avoids a restart of a deleted running record/timer on @@ -54,7 +54,7 @@ DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' ### The object files (add further files here): -OBJS = $(PLUGIN).o i18n.o config.o update.o md5tools.o channelmap.o +OBJS = $(PLUGIN).o config.o update.o md5tools.o channelmap.o ### Implicit rules: @@ -70,9 +70,43 @@ $(DEPFILE): Makefile -include $(DEPFILE) +### Internationalization (I18N): + +PODIR = po +LOCALEDIR = $(VDRDIR)/locale +I18Npo = $(wildcard $(PODIR)/*.po) +I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file)))))) +I18Npot = $(PODIR)/$(PLUGIN).pot + +%.mo: %.po + msgfmt -c -o $@ $< + +$(I18Npot): $(wildcard *.c) + xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='monty35' -o $@ $^ + +%.po: $(I18Npot) + msgmerge -U --no-wrap --no-location --backup=none -q $@ $< + @touch $@ + +$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo + @mkdir -p $(dir $@) + cp $< $@ + + +%.po: $(I18Npot) + msgmerge -U --no-wrap --no-location --backup=none -q $@ $< + @touch $@ + +$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo + @mkdir -p $(dir $@) + cp $< $@ + +.PHONY: i18n +i18n: $(I18Nmsgs) $(I18Npot) + ### Targets: -all: libvdr-$(PLUGIN).so +all: libvdr-$(PLUGIN).so i18n libvdr-$(PLUGIN).so: $(OBJS) $(CXX) $(CXXFLAGS) -shared $(OBJS) $(LIBS) -o $@ @@ -50,7 +50,7 @@ Setup Menu: Shows entry in main menu to perform update manually Add ongoing non-VPS timers - Do not readd (and causing instant start of record) + Do not re-add (and causing instant start of record) non-VPS timers, if start time is in the past Use VPS @@ -74,6 +74,19 @@ Setup Menu: It is shifted 1 hour (2 hours during daylight saving time) ealier. This can be avoided by enabling this fix. "auto" is the recommended setting. + TimeZone Shift BugFix + Currently (Nov 2009), TVTV sends the wrong time zone for all times. + This happen for CET regional timers like ARD and also for GMT timers like + BBC. + "auto" means that a buggy timezone is detected and fixed (Note: this only works if + *all* TVTV timers are in the same timezone as the vdr system. This is failsafe + and should avoid problems on the next DST switch + "manual" means that a timezone is manually corrected. This is NOT failsafe on the + next DST switch! + "manual (DST only)" use the manual timezone correction only in case of DST + "manual (non-DST only)" use the manual timezone correction only in case of non-DST + "ignore timezone" ignores the transmitted timezone completly + Reload ChannelMap If channel map is changed it can be reloaded with this command @@ -32,6 +32,17 @@ enum eTimeShiftBugfix eTimeShiftBugfixMAX }; +enum eTimeZoneBugfix +{ + eTimeZoneBugfixOff, + eTimeZoneBugfixAuto, + eTimeZoneBugfixManual, + eTimeZoneBugfixManualDST, + eTimeZoneBugfixManualNonDST, + eTimeZoneBugfixIgnore, + eTimeZoneBugfixMAX +}; + struct cTVTVConfig { public: @@ -57,6 +68,8 @@ public: #endif int tvtv_bugfix; int tvtv_bugfix_hrs; + int TimeZoneShiftBugFix; + int TimeZoneShiftHours; }; extern cTVTVConfig TVTVConfig; diff --git a/examples/tvtv_channelmap.conf_DVB-S b/examples/tvtv_channelmap.conf_DVB-S index 827d5fd..2c8e9c9 100644 --- a/examples/tvtv_channelmap.conf_DVB-S +++ b/examples/tvtv_channelmap.conf_DVB-S @@ -62,7 +62,7 @@ // Doku 57 = S19.2E-1-1101-28112 // BR-alpha 206 = S19.2E-1-1101-28114 // Phoenix -10 = S19.2E-1-1101-28109 // ARTE +10 = S19.2E-1-1051-28724 // ARTE 227 = S19.2E-1-1113-12602 // DMAX 974 = S19.2E-1-1094-17033 // Terra Nova 837 = S19.2E-1-1057-61900 // bibel TV diff --git a/tvtv_channelmap.conf_DVB_C_Mch b/examples/tvtv_channelmap.conf_DVB_C_Mch index 4735c60..4735c60 100644 --- a/tvtv_channelmap.conf_DVB_C_Mch +++ b/examples/tvtv_channelmap.conf_DVB_C_Mch @@ -1,677 +0,0 @@ -/* - * i18n.c: Internationalization - * - */ - -#include "i18n.h" - -const tI18nPhrase Phrases[] = { - { "TVTV", // English - "TVTV", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Suomi - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Català -#if VDRVERSNUM > 10302 - "", // Russian -#if VDRVERSNUM > 10307 - "", // Hrvatski -#if VDRVERSNUM > 10313 - "", // Eesti -#if VDRVERSNUM > 10316 - "", // Dansk -#endif -#endif -#endif -#endif - }, - { "TVTV Timers update", // English - "TVTV Timers update", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Suomi - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Català -#if VDRVERSNUM > 10302 - "", // Russian -#if VDRVERSNUM > 10307 - "", // Hrvatski -#if VDRVERSNUM > 10313 - "", // Eesti -#if VDRVERSNUM > 10316 - "", // Dansk -#endif -#endif -#endif -#endif - }, - { "TVTV User Name", // English - "TVTV Benutzername", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Suomi - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Català -#if VDRVERSNUM > 10302 - "", // Russian -#if VDRVERSNUM > 10307 - "", // Hrvatski -#if VDRVERSNUM > 10313 - "", // Eesti -#if VDRVERSNUM > 10316 - "", // Dansk -#endif -#endif -#endif -#endif - }, - { "TVTV Password", // English - "TVTV Passwort", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Suomi - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Català -#if VDRVERSNUM > 10302 - "", // Russian -#if VDRVERSNUM > 10307 - "", // Hrvatski -#if VDRVERSNUM > 10313 - "", // Eesti -#if VDRVERSNUM > 10316 - "", // Dansk -#endif -#endif -#endif -#endif - }, - { "Auto Update", // English - "Automatisches Update", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Suomi - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Català -#if VDRVERSNUM > 10302 - "", // Russian -#if VDRVERSNUM > 10307 - "", // Hrvatski -#if VDRVERSNUM > 10313 - "", // Eesti -#if VDRVERSNUM > 10316 - "", // Dansk -#endif -#endif -#endif -#endif - }, - { "Updatetime (min)", // English - "Updatezeit (min)", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Suomi - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Català -#if VDRVERSNUM > 10302 - "", // Russian -#if VDRVERSNUM > 10307 - "", // Hrvatski -#if VDRVERSNUM > 10313 - "", // Eesti -#if VDRVERSNUM > 10316 - "", // Dansk -#endif -#endif -#endif -#endif - }, - { "Format of File Name", // English - "Format des Dateinamens", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Suomi - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Català -#if VDRVERSNUM > 10302 - "", // Russian -#if VDRVERSNUM > 10307 - "", // Hrvatski -#if VDRVERSNUM > 10313 - "", // Eesti -#if VDRVERSNUM > 10316 - "", // Dansk -#endif -#endif -#endif -#endif - }, - { "Use Station Name within File Name", // English - "Sendernamen im Dateinamen verwenden", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Suomi - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Català -#if VDRVERSNUM > 10302 - "", // Russian -#if VDRVERSNUM > 10307 - "", // Hrvatski -#if VDRVERSNUM > 10313 - "", // Eesti -#if VDRVERSNUM > 10316 - "", // Dansk -#endif -#endif -#endif -#endif - }, - { "TVTV update will be started", // English - "TVTV update wird ausgeführt", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Suomi - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Català -#if VDRVERSNUM > 10302 - "", // Russian -#if VDRVERSNUM > 10307 - "", // Hrvatski -#if VDRVERSNUM > 10313 - "", // Eesti -#if VDRVERSNUM > 10316 - "", // Dansk -#endif -#endif -#endif -#endif - }, - { "Show In Main Menu", // English - "Im Hauptmenü anzeigen", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Suomi - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Català -#if VDRVERSNUM > 10302 - "", // Russian -#if VDRVERSNUM > 10307 - "", // Hrvatski -#if VDRVERSNUM > 10313 - "", // Eesti -#if VDRVERSNUM > 10316 - "", // Dansk -#endif -#endif -#endif -#endif - }, - { "Use VPS", // English - "VPS benutzen", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Suomi - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Català -#if VDRVERSNUM > 10302 - "", // Russian -#if VDRVERSNUM > 10307 - "", // Hrvatski -#if VDRVERSNUM > 10313 - "", // Eesti -#if VDRVERSNUM > 10316 - "", // Dansk -#endif -#endif -#endif -#endif - }, - { "TVTV Server", // English - "TVTV Server", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Suomi - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Català -#if VDRVERSNUM > 10302 - "", // Russian -#if VDRVERSNUM > 10307 - "", // Hrvatski -#if VDRVERSNUM > 10313 - "", // Eesti -#if VDRVERSNUM > 10316 - "", // Dansk -#endif -#endif -#endif -#endif - }, - { "Use HTTP Proxy", // English - "HTTP Proxy benutzen", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Suomi - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Català -#if VDRVERSNUM > 10302 - "", // Russian -#if VDRVERSNUM > 10307 - "", // Hrvatski -#if VDRVERSNUM > 10313 - "", // Eesti -#if VDRVERSNUM > 10316 - "", // Dansk -#endif -#endif -#endif -#endif - }, - { " HTTP Proxy", // English - " HTTP Proxy", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Suomi - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Català -#if VDRVERSNUM > 10302 - "", // Russian -#if VDRVERSNUM > 10307 - "", // Hrvatski -#if VDRVERSNUM > 10313 - "", // Eesti -#if VDRVERSNUM > 10316 - "", // Dansk -#endif -#endif -#endif -#endif - }, - { "Use TVTV description in info.vdr", // English - "Beschreibung in info.vdr übernehmen", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Suomi - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Català -#if VDRVERSNUM > 10302 - "", // Russian -#if VDRVERSNUM > 10307 - "", // Hrvatski -#if VDRVERSNUM > 10313 - "", // Eesti -#if VDRVERSNUM > 10316 - "", // Dansk -#endif -#endif -#endif -#endif - }, - { "Timer update time shift bugfix", // English - "Timer Update Zeitverschiebung-Fix aktivieren", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Suomi - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Català -#if VDRVERSNUM > 10302 - "", // Russian -#if VDRVERSNUM > 10307 - "", // Hrvatski -#if VDRVERSNUM > 10313 - "", // Eesti -#if VDRVERSNUM > 10316 - "", // Dansk -#endif -#endif -#endif -#endif - }, - { " Time shift check (hrs)", // English - " Zeitverschiebung Check (Std)", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Suomi - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Català -#if VDRVERSNUM > 10302 - "", // Russian -#if VDRVERSNUM > 10307 - "", // Hrvatski -#if VDRVERSNUM > 10313 - "", // Eesti -#if VDRVERSNUM > 10316 - "", // Dansk -#endif -#endif -#endif -#endif - }, - { "Add ongoing non-VPS timers", // English - "Laufende nicht-VPS Timers hinzufügen", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Suomi - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Català -#if VDRVERSNUM > 10302 - "", // Russian -#if VDRVERSNUM > 10307 - "", // Hrvatski -#if VDRVERSNUM > 10313 - "", // Eesti -#if VDRVERSNUM > 10316 - "", // Dansk -#endif -#endif -#endif -#endif - }, - { "manual", // English - "manuell", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Suomi - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Català -#if VDRVERSNUM > 10302 - "", // Russian -#if VDRVERSNUM > 10307 - "", // Hrvatski -#if VDRVERSNUM > 10313 - "", // Eesti -#if VDRVERSNUM > 10316 - "", // Dansk -#endif -#endif -#endif -#endif - }, - { "auto (Timezone)", // English - "auto (Zeitzone)", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Suomi - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Català -#if VDRVERSNUM > 10302 - "", // Russian -#if VDRVERSNUM > 10307 - "", // Hrvatski -#if VDRVERSNUM > 10313 - "", // Eesti -#if VDRVERSNUM > 10316 - "", // Dansk -#endif -#endif -#endif -#endif - }, - { "Reload ChannelMap", // English - "ChannelMap neu laden", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Suomi - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Català -#if VDRVERSNUM > 10302 - "", // Russian -#if VDRVERSNUM > 10307 - "", // Hrvatski -#if VDRVERSNUM > 10313 - "", // Eesti -#if VDRVERSNUM > 10316 - "", // Dansk -#endif -#endif -#endif -#endif - }, - { "Really reload ChannelMap?", // English - "ChannelMap wirklich neu laden?", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Suomi - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Català -#if VDRVERSNUM > 10302 - "", // Russian -#if VDRVERSNUM > 10307 - "", // Hrvatski -#if VDRVERSNUM > 10313 - "", // Eesti -#if VDRVERSNUM > 10316 - "", // Dansk -#endif -#endif -#endif -#endif - }, - { "TVTV Download Error", // English - "TVTV: Fehler beim Download", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "", // Suomi - "", // Polski - "", // Español - "", // Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Català -#if VDRVERSNUM > 10302 - "", // Russian -#if VDRVERSNUM > 10307 - "", // Hrvatski -#if VDRVERSNUM > 10313 - "", // Eesti -#if VDRVERSNUM > 10316 - "", // Dansk -#endif -#endif -#endif -#endif - }, - { NULL } - }; @@ -1,16 +0,0 @@ -/* - * i18n.h: Internationalization - * - * See the README file for copyright information and how to reach the author. - * - * $Id: i18n.h 1.2 2002/05/11 14:48:16 kls Exp $ - */ - -#ifndef _I18N__H -#define _I18N__H - -#include <vdr/i18n.h> - -extern const tI18nPhrase Phrases[]; - -#endif //_I18N__H diff --git a/messages.po b/messages.po new file mode 100644 index 0000000..c6fdb7a --- /dev/null +++ b/messages.po @@ -0,0 +1,113 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: monty35\n" +"POT-Creation-Date: 2008-11-30 17:13+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Title" +msgstr "" + +msgid "Nature/Title" +msgstr "" + +msgid "Title/Nature" +msgstr "" + +msgid "Format/Nature/Title" +msgstr "" + +msgid "Format/Title/Nature" +msgstr "" + +msgid "off" +msgstr "" + +msgid "auto (Timezone)" +msgstr "" + +msgid "manual" +msgstr "" + +msgid "auto (timezone)" +msgstr "" + +msgid "manual (DST only)" +msgstr "" + +msgid "manual (non-DST only)" +msgstr "" + +msgid "ignore timezone" +msgstr "" + +msgid "TVTV Server" +msgstr "" + +msgid "TVTV User Name" +msgstr "" + +msgid "TVTV Password" +msgstr "" + +msgid "Use HTTP Proxy" +msgstr "" + +msgid " HTTP Proxy" +msgstr "" + +msgid "Auto Update" +msgstr "" + +msgid "Updatetime (min)" +msgstr "" + +msgid "Show In Main Menu" +msgstr "" + +msgid "Add ongoing non-VPS timers" +msgstr "" + +msgid "Use VPS" +msgstr "" + +msgid "Format of File Name" +msgstr "" + +msgid "Use Station Name within File Name" +msgstr "" + +msgid "Use TVTV description in info.vdr" +msgstr "" + +msgid "Timer update time shift bugfix" +msgstr "" + +msgid " Time shift check (hrs)" +msgstr "" + +msgid "TimeZone Shift BugFix" +msgstr "" + +msgid "TimeZone Shift (hrs)" +msgstr "" + +msgid "Reload ChannelMap" +msgstr "" + +msgid "Really reload ChannelMap?" +msgstr "" + +msgid "TVTV update will be started" +msgstr "" diff --git a/po/de_DE.po b/po/de_DE.po new file mode 100644 index 0000000..bd60eca --- /dev/null +++ b/po/de_DE.po @@ -0,0 +1,111 @@ +# German translations for vdr package +# German messages for vdr. +# Copyright (C) 2008 THE vdr'S COPYRIGHT HOLDER +# This file is distributed under the same license as the vdr package. +# root <monty35@gmx.de>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: vdr 1.6.0\n" +"Report-Msgid-Bugs-To: monty35\n" +"POT-Creation-Date: 2008-11-30 17:29+0100\n" +"PO-Revision-Date: 2008-11-30 17:18+0100\n" +"Last-Translator: monty35 <monty35@gmx.de>\n" +"Language-Team: German\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Title" +msgstr "Titel" + +msgid "Nature/Title" +msgstr "Art/Titel" + +msgid "Title/Nature" +msgstr "Titel/Art" + +msgid "Format/Nature/Title" +msgstr "Format/Art/Titel" + +msgid "Format/Title/Nature" +msgstr "Format/Titel/Art" + +msgid "off" +msgstr "aus" + +msgid "auto (timezone)" +msgstr "auto (Zeitzone)" + +msgid "manual" +msgstr "manuell" + +msgid "manual (DST only)" +msgstr "man. (nur Sommerzeit)" + +msgid "manual (non-DST only)" +msgstr "man. (nur Winterzeit)" + +msgid "ignore timezone" +msgstr "Ignoriere Zeitzone" + +msgid "TVTV Server" +msgstr "TVTV Server" + +msgid "TVTV User Name" +msgstr "TVTV Benutzername" + +msgid "TVTV Password" +msgstr "TVTV Passwort" + +msgid "Use HTTP Proxy" +msgstr "Benutze HTTP Proxy" + +msgid " HTTP Proxy" +msgstr " HTTP Proxy" + +msgid "Auto Update" +msgstr "Automatisches Update" + +msgid "Updatetime (min)" +msgstr "Updatezeit (min)" + +msgid "Show In Main Menu" +msgstr "Im Hauptmenü anzeigen" + +msgid "Add ongoing non-VPS timers" +msgstr "Aktive nicht-VPS Timers hinzufügen" + +msgid "Use VPS" +msgstr "Benutze VPS" + +msgid "Format of File Name" +msgstr "Format des Dateinamens" + +msgid "Use Station Name within File Name" +msgstr "Sendernam. im Dateinam. verwenden" + +msgid "Use TVTV description in info.vdr" +msgstr "Beschreibung in info.vdr übernehmen" + +msgid "Timer update time shift bugfix" +msgstr "Timer Update Zeitverschiebung-Fix" + +msgid " Time shift check (hrs)" +msgstr " Zeitverschiebung Check (Std)" + +msgid "TimeZone Shift BugFix" +msgstr "Zeitzonen-Verschiebungs-Fix" + +msgid "TimeZone Shift (hrs)" +msgstr "Zeitzonen-Verschiebung (h)" + +msgid "Reload ChannelMap" +msgstr "Kanalmapping neu laden" + +msgid "Really reload ChannelMap?" +msgstr "Kanalmapping wirklich neu laden?" + +msgid "TVTV update will be started" +msgstr "TVTV Update startet nun" diff --git a/po/tvtv.pot b/po/tvtv.pot new file mode 100644 index 0000000..b5dd5fc --- /dev/null +++ b/po/tvtv.pot @@ -0,0 +1,110 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: monty35\n" +"POT-Creation-Date: 2008-11-30 17:29+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Title" +msgstr "" + +msgid "Nature/Title" +msgstr "" + +msgid "Title/Nature" +msgstr "" + +msgid "Format/Nature/Title" +msgstr "" + +msgid "Format/Title/Nature" +msgstr "" + +msgid "off" +msgstr "" + +msgid "auto (timezone)" +msgstr "" + +msgid "manual" +msgstr "" + +msgid "manual (DST only)" +msgstr "" + +msgid "manual (non-DST only)" +msgstr "" + +msgid "ignore timezone" +msgstr "" + +msgid "TVTV Server" +msgstr "" + +msgid "TVTV User Name" +msgstr "" + +msgid "TVTV Password" +msgstr "" + +msgid "Use HTTP Proxy" +msgstr "" + +msgid " HTTP Proxy" +msgstr "" + +msgid "Auto Update" +msgstr "" + +msgid "Updatetime (min)" +msgstr "" + +msgid "Show In Main Menu" +msgstr "" + +msgid "Add ongoing non-VPS timers" +msgstr "" + +msgid "Use VPS" +msgstr "" + +msgid "Format of File Name" +msgstr "" + +msgid "Use Station Name within File Name" +msgstr "" + +msgid "Use TVTV description in info.vdr" +msgstr "" + +msgid "Timer update time shift bugfix" +msgstr "" + +msgid " Time shift check (hrs)" +msgstr "" + +msgid "TimeZone Shift BugFix" +msgstr "" + +msgid "TimeZone Shift (hrs)" +msgstr "" + +msgid "Reload ChannelMap" +msgstr "" + +msgid "Really reload ChannelMap?" +msgstr "" + +msgid "TVTV update will be started" +msgstr "" @@ -5,12 +5,11 @@ * */ -#include "i18n.h" #include "config.h" #include "update.h" -static const char *VERSION = "0.3.3p7"; +static const char *VERSION = "0.3.3p8"; static const char *DESCRIPTION = "TVTV Timers update"; static const char *MAINMENUENTRY = "TVTV"; @@ -48,6 +47,7 @@ private: virtual void Setup(void); const char *cRecordNames[eRecordName_MAX]; const char *timeshiftbugfixmodes[eTimeShiftBugfixMAX]; + const char *timezonebugfixmodes[eTimeZoneBugfixMAX]; protected: virtual eOSState ProcessKey(eKeys Key); virtual void Store(void); @@ -72,9 +72,16 @@ void cMenuSetupTVTV::Setup(void) { cRecordNames[eRecordName_FormatTitleNature] = tr("Format/Title/Nature"); timeshiftbugfixmodes[eTimeShiftBugfixOff] = tr("off"); - timeshiftbugfixmodes[eTimeShiftBugfixAuto] = tr("auto (Timezone)"); + timeshiftbugfixmodes[eTimeShiftBugfixAuto] = tr("auto (timezone)"); timeshiftbugfixmodes[eTimeShiftBugfixManual] = tr("manual"); + timezonebugfixmodes[eTimeZoneBugfixOff] = tr("off"); + timezonebugfixmodes[eTimeZoneBugfixAuto] = tr("auto (timezone)"); + timezonebugfixmodes[eTimeZoneBugfixManual] = tr("manual"); + timezonebugfixmodes[eTimeZoneBugfixManualDST] = tr("manual (DST only)"); + timezonebugfixmodes[eTimeZoneBugfixManualNonDST] = tr("manual (non-DST only)"); + timezonebugfixmodes[eTimeZoneBugfixIgnore] = tr("ignore timezone"); + Add(new cMenuEditStraItem( tr("TVTV Server"), &data.tvtv_server, TVTVSRV_CNT, TVTV_SERVERS)); Add(new cMenuEditStrItem( tr("TVTV User Name"), data.username, sizeof(data.username), tr(FileNameChars))); Add(new cMenuEditStrItem( tr("TVTV Password"), data.password, sizeof(data.password), tr(FileNameChars))); @@ -105,6 +112,10 @@ void cMenuSetupTVTV::Setup(void) { if (data.tvtv_bugfix == eTimeShiftBugfixManual) Add(new cMenuEditIntItem( tr(" Time shift check (hrs)"), &data.tvtv_bugfix_hrs, -23, 23)); + Add(new cMenuEditStraItem( tr("TimeZone Shift BugFix"), &data.TimeZoneShiftBugFix, eTimeZoneBugfixMAX, timezonebugfixmodes)); + if (data.TimeZoneShiftBugFix == eTimeZoneBugfixManual || data.TimeZoneShiftBugFix == eTimeZoneBugfixManualDST || data.TimeZoneShiftBugFix == eTimeZoneBugfixManualNonDST) + Add(new cMenuEditIntItem( tr("TimeZone Shift (hrs)"), &data.TimeZoneShiftHours, -1, 1)); + Add(new cOsdItem(tr("Reload ChannelMap"),osUser9)); SetCurrent(Get(current)); @@ -115,6 +126,7 @@ void cMenuSetupTVTV::Setup(void) { eOSState cMenuSetupTVTV::ProcessKey(eKeys Key) { int olduseproxy = data.useproxy; int oldtvtvbugfix = data.tvtv_bugfix; + int oldtvtvtzbugfix = data.TimeZoneShiftBugFix; eOSState state = cMenuSetupPage::ProcessKey(Key); switch(state) { @@ -137,7 +149,7 @@ eOSState cMenuSetupTVTV::ProcessKey(eKeys Key) { break; } - if (Key != kNone && ((data.useproxy != olduseproxy) || (data.tvtv_bugfix != oldtvtvbugfix))) Setup(); + if (Key != kNone && ((data.useproxy != olduseproxy) || (data.tvtv_bugfix != oldtvtvbugfix) || (data.TimeZoneShiftBugFix != oldtvtvtzbugfix))) Setup(); return state; } @@ -169,6 +181,8 @@ void cMenuSetupTVTV::Store(void) SetupStore("TVTVBugfix", TVTVConfig.tvtv_bugfix); SetupStore("TVTVBugfixHrs", TVTVConfig.tvtv_bugfix_hrs); + SetupStore("TVTVTimeZoneShiftBugFix", TVTVConfig.TimeZoneShiftBugFix); + SetupStore("TVTVTimeZoneShiftHrs", TVTVConfig.TimeZoneShiftHours); if (TVTVConfig.autoupdate) if (oUpdate) @@ -262,7 +276,6 @@ cString cPluginTVTV::SVDRPCommand(const char *Cmd, const char *Option, int &Repl bool cPluginTVTV::Start(void) { // Start any background activities the plugin shall perform. - RegisterI18n(Phrases); oUpdate = new cUpdate(); @@ -313,6 +326,8 @@ bool cPluginTVTV::SetupParse(const char *Name, const char *Value) else if (!strcasecmp(Name, "TVTVBugfix")) TVTVConfig.tvtv_bugfix = atoi(Value); else if (!strcasecmp(Name, "TVTVBugfixHrs")) TVTVConfig.tvtv_bugfix_hrs = atoi(Value); + else if (!strcasecmp(Name, "TVTVTimeZoneShiftBugFix")) TVTVConfig.TimeZoneShiftBugFix = atoi(Value); + else if (!strcasecmp(Name, "TVTVTimeZoneShiftHrs")) TVTVConfig.TimeZoneShiftHours = atoi(Value); else return false; @@ -391,6 +391,9 @@ void cUpdate::ProcessImportedFile(const char *sBuffer) unsigned int p=0; size_t rp=0; bool vps = false; + bool tzfix_start = false; + bool tzfix_end = false; + bool tzfix_vps = false; tChannelID vdrch, channelID; bool timer_update=false; #if VDRVERSNUM < 10336 @@ -429,7 +432,7 @@ void cUpdate::ProcessImportedFile(const char *sBuffer) dsyslog("TVTV: Start reading timer jobs"); sLine = read_line_from_buffer(sBuffer, &p); while (!sLine->empty()) { - dsyslog("TVTV: Received '%s...'", sLine->substr(0,130).c_str()); + isyslog("TVTV: Received '%s...'", sLine->substr(0,130).c_str()); tvtvjob=split_csv(sLine->c_str(), field_cnt); if (tvtvjob != NULL) { for (int i=0; i<field_cnt; i++) { @@ -475,9 +478,6 @@ void cUpdate::ProcessImportedFile(const char *sBuffer) tVps.tm_year -= 1900; tVps.tm_mon -= 1; tVps.tm_isdst = -1; tEnd.tm_year -= 1900; tEnd.tm_mon -= 1; tEnd.tm_isdst = -1; - tStartTime = timegm(&tStart); - tVpsTime = timegm(&tVps); - tEndTime = timegm(&tEnd); time(&tCurrentTime); /* current time */ // VPS was introduced with VDR 1.3.5 @@ -486,32 +486,125 @@ void cUpdate::ProcessImportedFile(const char *sBuffer) #else vps = false; #endif + if (TVTVConfig.TimeZoneShiftBugFix == eTimeZoneBugfixIgnore) { + // TimeZone handling not active, clear TimeZones + isyslog("TVTV: timezones are ignored by configuration: tSTartTime: %+05d tEndTime: %+05d", StartTZ, EndTZ); - // fix buggy received timezones - timelocal = localtime(&tStartTime); - if (timelocal->tm_gmtoff / 36 != StartTZ) { - dsyslog("TVTV: buggy timezone in tSTartTime detected: %+05d, fix to: %+05d", StartTZ, (int) (timelocal->tm_gmtoff / 36)); - StartTZ = timelocal->tm_gmtoff / 36; - }; - - timelocal = localtime(&tEndTime); - if (timelocal->tm_gmtoff / 36 != EndTZ) { - dsyslog("TVTV: buggy timezone in tEndTime detected: %+05d, fix to: %+05d", EndTZ, (int) (timelocal->tm_gmtoff / 36)); - EndTZ = timelocal->tm_gmtoff / 36; - }; - - tStartTime -= StartTZ*36; - tEndTime -= EndTZ*36; + tStartTime = mktime(&tStart); + tVpsTime = mktime(&tVps); + tEndTime = mktime(&tEnd); + } else { + // TimeZone handling active + tStartTime = timegm(&tStart); + tVpsTime = timegm(&tVps); + tEndTime = timegm(&tEnd); + + if ((TVTVConfig.TimeZoneShiftBugFix == eTimeShiftBugfixManual) || (TVTVConfig.TimeZoneShiftBugFix == eTimeZoneBugfixManualDST) || (TVTVConfig.TimeZoneShiftBugFix == eTimeZoneBugfixManualNonDST) ) { + tzfix_start = false; + tzfix_end = false; + tzfix_vps = false; + + timelocal = localtime(&tStartTime); + if ((timelocal->tm_isdst < 0) && ((TVTVConfig.TimeZoneShiftBugFix == eTimeZoneBugfixManualDST) || (TVTVConfig.TimeZoneShiftBugFix == eTimeZoneBugfixManualNonDST))) { + isyslog("TVTV: manual timezone shift skipped: DST information is not available for tSTartTime"); + } else if (timelocal->tm_isdst == 0) { + if (TVTVConfig.TimeZoneShiftBugFix == eTimeZoneBugfixManualDST) { + isyslog("TVTV: manual timezone shift skipped: tSTartTime is non-DST but only enabled for DST"); + } else { + tzfix_start = true; + }; + } else if (timelocal->tm_isdst > 0) { + if (TVTVConfig.TimeZoneShiftBugFix == eTimeZoneBugfixManualNonDST) { + isyslog("TVTV: manual timezone shift skipped: tSTartTime is DST but only enabled for non-DST"); + } else { + tzfix_start = true; + }; + }; + + timelocal = localtime(&tEndTime); + if ((timelocal->tm_isdst < 0) && ((TVTVConfig.TimeZoneShiftBugFix == eTimeZoneBugfixManualDST) || (TVTVConfig.TimeZoneShiftBugFix == eTimeZoneBugfixManualNonDST))) { + isyslog("TVTV: manual timezone shift skipped: DST information is not available for tEndTime"); + } else if (timelocal->tm_isdst == 0) { + if (TVTVConfig.TimeZoneShiftBugFix == eTimeZoneBugfixManualDST) { + isyslog("TVTV: manual timezone shift skipped: tEndTime is non-DST but only enabled for DST"); + } else { + tzfix_end = true; + }; + } else if (timelocal->tm_isdst > 0) { + if (TVTVConfig.TimeZoneShiftBugFix == eTimeZoneBugfixManualNonDST) { + isyslog("TVTV: manual timezone shift skipped: tEndTime is DST but only enabled for non-DST"); + } else { + tzfix_end = true; + }; + }; + + if (vps) { + timelocal = localtime(&tVpsTime); + if ((timelocal->tm_isdst < 0) && ((TVTVConfig.TimeZoneShiftBugFix == eTimeZoneBugfixManualDST) || (TVTVConfig.TimeZoneShiftBugFix == eTimeZoneBugfixManualNonDST))) { + isyslog("TVTV: manual timezone shift skipped: DST information is not available for tVpsTime"); + } else if (timelocal->tm_isdst == 0) { + if (TVTVConfig.TimeZoneShiftBugFix == eTimeZoneBugfixManualDST) { + isyslog("TVTV: manual timezone shift skipped: tVpsTime is non-DST but only enabled for DST"); + } else { + tzfix_vps = true; + }; + } else if (timelocal->tm_isdst > 0) { + if (TVTVConfig.TimeZoneShiftBugFix == eTimeZoneBugfixManualNonDST) { + isyslog("TVTV: manual timezone shift skipped: tVpsTime is DST but only enabled for non-DST"); + } else { + tzfix_vps = true; + }; + }; + }; + + if (tzfix_start == true) { + // shift buggy received timezones by manual given offset + isyslog("TVTV: manual timezone shift tSTartTime: %+05d, fix to: %+05d", StartTZ, (int) (StartTZ + TVTVConfig.TimeZoneShiftHours * 100)); + StartTZ += TVTVConfig.TimeZoneShiftHours * 100; + tStartTime -= StartTZ*36; + }; + + if (tzfix_end == true) { + isyslog("TVTV: manual timezone shift tEndTime: %+05d, fix to: %+05d", EndTZ, (int) (EndTZ + TVTVConfig.TimeZoneShiftHours * 100)); + EndTZ += TVTVConfig.TimeZoneShiftHours * 100; + tEndTime -= EndTZ*36; + }; - if (vps) { - timelocal = localtime(&tVpsTime); - if (timelocal->tm_gmtoff / 36 != VpsTZ) { - dsyslog("TVTV: buggy timezone in tVpsTime detected: %+05d, fix to: %+05d", VpsTZ, (int) (timelocal->tm_gmtoff / 36)); - VpsTZ = timelocal->tm_gmtoff / 36; - }; - tVpsTime -= VpsTZ*36; + if (tzfix_vps == true) { + isyslog("TVTV: manual timezone shift tVpsTime: %+05d, fix to: %+05d", VpsTZ, (int) (VpsTZ + TVTVConfig.TimeZoneShiftHours * 100)); + VpsTZ += TVTVConfig.TimeZoneShiftHours * 100; + tVpsTime -= VpsTZ*36; + }; + + } else if (TVTVConfig.TimeZoneShiftBugFix == eTimeShiftBugfixAuto) { + // fix buggy received timezones by autodetection (works only in case of CET only timers) + timelocal = localtime(&tStartTime); + if (timelocal->tm_gmtoff / 36 != StartTZ) { + isyslog("TVTV: buggy timezone in tSTartTime autodetected: %+05d, fix to: %+05d", StartTZ, (int) (timelocal->tm_gmtoff / 36)); + StartTZ = timelocal->tm_gmtoff / 36; + }; + + timelocal = localtime(&tEndTime); + if (timelocal->tm_gmtoff / 36 != EndTZ) { + isyslog("TVTV: buggy timezone in tEndTime autodetected: %+05d, fix to: %+05d", EndTZ, (int) (timelocal->tm_gmtoff / 36)); + EndTZ = timelocal->tm_gmtoff / 36; + }; + + tStartTime -= StartTZ*36; + tEndTime -= EndTZ*36; + + if (vps) { + timelocal = localtime(&tVpsTime); + if (timelocal->tm_gmtoff / 36 != VpsTZ) { + isyslog("TVTV: buggy timezone in tVpsTime autodetected: %+05d, fix to: %+05d", VpsTZ, (int) (timelocal->tm_gmtoff / 36)); + VpsTZ = timelocal->tm_gmtoff / 36; + }; + tVpsTime -= VpsTZ*36; + }; + }; }; + tStartTime -= Setup.MarginStart * 60; if (!vps) tEndTime += Setup.MarginStop * 60; localtime_r(&tStartTime, &tStart); @@ -665,19 +758,19 @@ void cUpdate::ProcessImportedFile(const char *sBuffer) // avoid Timer updates if Timer is shifted (TVTV UTC Problem) if (TVTVConfig.tvtv_bugfix == eTimeShiftBugfixManual) { // exactly configured hours - dsyslog("TVTV: manual configured timezone shift: %d hrs", TVTVConfig.tvtv_bugfix_hrs); + isyslog("TVTV: manual configured timezone shift: %d hrs", TVTVConfig.tvtv_bugfix_hrs); tvtv_bugfix_secs = TVTVConfig.tvtv_bugfix_hrs * 3600; } else if (TVTVConfig.tvtv_bugfix == eTimeShiftBugfixAuto) { // autodetect time zone distance time(&tloc); timelocal = localtime(&tloc); - dsyslog("TVTV: autodetected timezone: %s, shift: %d hrs", timelocal->tm_zone, (int) (timelocal->tm_gmtoff / 3600)); + isyslog("TVTV: autodetected timezone: %s, shift: %d hrs", timelocal->tm_zone, (int) (timelocal->tm_gmtoff / 3600)); tvtv_bugfix_secs = timelocal->tm_gmtoff; }; if ((TVTVConfig.tvtv_bugfix != eTimeShiftBugfixOff) && ((((ti->StartTime() - tStartTime) == tvtv_bugfix_secs) && - ((ti->StopTime() - tEndTime) == tvtv_bugfix_secs)) || - (vps && ((ti->StopTime() - tEndTime) == tvtv_bugfix_secs)) )) { + ((ti->StopTime() - tEndTime) == tvtv_bugfix_secs)) || + (vps && ((ti->StopTime() - tEndTime) == tvtv_bugfix_secs)) )) { isyslog("TVTV: timer %d update rejected (%s) [%s/%s/%d/%04d-%04d/%s]", ti->Index() + 1, ti->File(), tvtv_timer[DEF_TVTV_SCHEDULE_UID].c_str(), @@ -721,7 +814,7 @@ void cUpdate::ProcessImportedFile(const char *sBuffer) } else { // if (timer_update) if (tvtv_timer[DEF_TVTV_SCHEDULE_ACT] == "rec") { - if ((tEndTime < tCurrentTime) && (vps == false)) { + if (((tEndTime - Setup.MarginStop * 60) < tCurrentTime) && (vps == false)) { // Do not add timer entry in the past, if vps is not active isyslog("TVTV: timer NOT added (EndTime in the past) (%s) [%s/%s/%d/%04d-%04d/%s]", oTimer->File(), @@ -733,7 +826,7 @@ void cUpdate::ProcessImportedFile(const char *sBuffer) vps ? "VPS":"-"); } else { // if (tEndTime < tCurrentTime) - if ((tStartTime < tCurrentTime) && (vps == false) && (TVTVConfig.AddOngoingNonVpsTimers == 0)) { + if (((tStartTime + Setup.MarginStart * 60) < tCurrentTime) && (vps == false) && (TVTVConfig.AddOngoingNonVpsTimers == 0)) { // Do not add timer entry with start time in the past, if vps is not active isyslog("TVTV: timer NOT added (StartTime in the past & AddOngoingNonVpsTimers=off) (%s) [%s/%s/%d/%04d-%04d/%s]", oTimer->File(), @@ -754,7 +847,7 @@ void cUpdate::ProcessImportedFile(const char *sBuffer) vps ? (tVps.tm_hour * 100 + tVps.tm_min):(tStart.tm_hour * 100 + tStart.tm_min), tEnd.tm_hour * 100 + tEnd.tm_min, vps ? "VPS":"-"); - if ((tEndTime < tCurrentTime) && (vps == false)) { + if (((tStartTime + Setup.MarginStart * 60) < tCurrentTime) && (vps == false)) { isyslog("TVTV: timer %d notice: StartTime is behind CurrentTime (AddOngoingNonVpsTimers=on)", oTimer->Index() + 1); }; @@ -17,7 +17,6 @@ #include <fstream> #include <sstream> -#include "i18n.h" #include "config.h" #include "channelmap.h" #include "md5tools.h" |