diff -ruN vdr-1.7.33/CONTRIBUTORS vdr-1.7.34/CONTRIBUTORS
--- vdr-1.7.33/CONTRIBUTORS	2012-12-05 15:14:31.000000000 +0100
+++ vdr-1.7.34/CONTRIBUTORS	2012-12-23 14:32:26.000000000 +0100
@@ -1453,6 +1453,7 @@
  for making cDevice::AddPid() store the stream type of the given pid
  for adding cFont::FontName() and cFont::Size()
  for writing the dvbhddevice plugin
+ for reporting replay stuttering close to the end of an ongoing recording
 
 Thomas Bergwinkl <Thomas.Bergwinkl@vr-web.de>
  for fixing the validity check for channel IDs, because some providers use TIDs
@@ -2321,6 +2322,8 @@
  for suggesting to check for NULL in cOsd::AddPixmap()
  for making modified editing marks be written to disk whenever the replay progress
  display gets hidden
+ for reporting a wrong type ('int' vs. 'eTimerEvent') in the declaration of
+ cSkinDisplayMenu::SetItemEvent()
 
 Pekka Mauno <pekka.mauno@iki.fi>
  for fixing cSchedule::GetFollowingEvent() in case there is currently no present
@@ -2807,6 +2810,10 @@
  for reporting a problem with external Dolby Digital processing via the '-a' option
  in live mode and with TS recordings
  for contributing to a patch that implements FHS support
+ for suggesting to remove some redundancy in the Makefile/Make.global/Make.config
+ mechanism
+ for suggesting to give the plugin Makefiles a separate 'install' target
+ for making plugin Makefiles use DESTDIR and the 'install' program
 
 Stefan Huskamp <coca_cola1@gmx.de>
  for suggesting to make entering characters via the number keys
diff -ruN vdr-1.7.33/HISTORY vdr-1.7.34/HISTORY
--- vdr-1.7.33/HISTORY	2012-12-08 12:05:39.000000000 +0100
+++ vdr-1.7.34/HISTORY	2012-12-24 10:00:55.000000000 +0100
@@ -7342,8 +7342,8 @@
 2012-12-08: Version 1.7.33
 
 - In order to be able to play TS recordings from other sources, in which there is
-  more than one PMT PID in the PAT, 'int cPatPmtParser::PatPmt(void)' has been changed
-  to 'bool cPatPmtParser::IsPatPmt(int Pid)'.
+  more than one PMT PID in the PAT, 'int cPatPmtParser::PmtPid(void)' has been changed
+  to 'bool cPatPmtParser::IsPmtPid(int Pid)'.
 - Fixed learning remote control keys with the LCARS skin.
 - Updated the Macedonian OSD texts (thanks to Dimitar Petrovski).
 - Fixed getting only non-video packets in cCuttingThread::GetPendingPackets() (reported
@@ -7416,3 +7416,46 @@
   SetItemRecording() of the cSkinDisplayMenu class can be reimplemented by skin
   plugins to display these items in a more elaborate way than just a simple line of
   text.
+
+2012-12-24: Version 1.7.34
+
+- Changed the type of the TimerMatch parameter in cSkinDisplayMenu::SetItemEvent() from
+  'int' to 'eTimerEvent' (reported by Christoph Haubrich).
+- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
+- Fixed cOsd::GetBitmap() to always return NULL if a non-exising area is requested.
+- Added several missing "`ls $^`" in the calls to xgettext in plugin Makefiles and the
+  "newplugin" script.
+- Fixed setting the --package-name and --package-version options in the calls to
+  xgettext in several plugin Makefiles.
+- Added "-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE" to the
+  DEFINES in the Makefile (somehow got lost from Make.config.template in version 1.7.13).
+- Removed some redundancy in the Makefile/Make.global/Make.config mechanism (suggested
+  by Christopher Reimer). The file Make.global is no longer used, and plugin Makefiles
+  don't include the file Make.config any more. Instead they now retrieve all necessary
+  information through calls to pkg-config.
+- The plugin Makefiles now have a separate 'install' target (suggested by Christopher
+  Reimer). In order to still allow the normal building of VDR (with all plugins in its
+  ./PLUGINS/src subdirectory, the plugin libraries in ./PLUGINS/lib and the i18n files in
+  ./locale) the VDR Makefile checks the settings of LIBDIR and LOCDIR when building the
+  plugins from within the VDR source directory. If these macros have their default values,
+  then the 'install' targets of the plugins' Makefiles are called. Otherwise the 'all'
+  targets are called and the plugins are merely built, and will have to be installed by a
+  call to 'make install-plugins'. This now also allows a user to copy a plugin source to
+  any directory, change into that directory and do 'make' and 'make install' to have the
+  plugin installed to wherever the local installation of VDR expects them.
+- Plugin Makefiles now use DESTDIR and the 'install' program (thanks to Christopher Reimer).
+- Due to the changes to the plugin Makefiles, existing plugins will not build with this
+  version of VDR any more. You can either use the new 'newplugin' script to generate a
+  dummy plugin directory and use the Makefile from there (adapting it to your particular
+  plugin), or apply the patch from
+  ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.33-pluginmakefile.diff
+  to your Makefile to make the necessary changes (see comments in that file for details).
+- Added the new menu categories mcChannelEdit, mcTimerEdit, mcScheduleNow, mcScheduleNext,
+  mcRecordingInfo, mcPluginSetup, mcSetupOsd, mcSetupEpg, mcSetupDvb, mcSetupLnb,
+  mcSetupCam, mcSetupRecord, mcSetupReplay, mcSetupMisc and mcSetupPlugins.
+- Updated the Italian OSD texts (thanks to Diego Pierotto).
+- Fixed replay stuttering close to the end of an ongoing recording (reported by Andreas
+  Regel).
+- Fixed cIndexFile::GetNextIFrame() to properly handle the case where the very last frame
+  is an I-frame (which normally shouldn't occur).
+- Fixed replaying ongoing recordings from other VDR instances.
diff -ruN vdr-1.7.33/Make.config.template vdr-1.7.34/Make.config.template
--- vdr-1.7.33/Make.config.template	2012-10-09 12:32:32.000000000 +0200
+++ vdr-1.7.34/Make.config.template	2012-12-22 11:54:47.000000000 +0100
@@ -6,7 +6,7 @@
 # See the main source file 'vdr.c' for copyright information and
 # how to reach the author.
 #
-# $Id: Make.config.template 2.10 2012/10/09 10:32:32 kls Exp $
+# $Id: Make.config.template 2.12 2012/12/22 10:54:47 kls Exp $
 
 ### The C compiler and options:
 
@@ -14,12 +14,10 @@
 CFLAGS   = -g -O3 -Wall
 
 CXX      = g++
-CXXFLAGS = -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
+CXXFLAGS = $(CFLAGS) -Werror=overloaded-virtual -Wno-parentheses
 
-ifdef PLUGIN
 CFLAGS   += -fPIC
 CXXFLAGS += -fPIC
-endif
 
 # Use 'make M32=1 ...' to build a 32-bit version of VDR on a 64-bit machine:
 ifdef M32
@@ -29,15 +27,16 @@
 
 ### The directory environment:
 
-PREFIX   = $(DESTDIR)/usr/local
+PREFIX   = /usr/local
 #DVBDIR   = /usr/src/v4l-dvb/linux
 MANDIR   = $(PREFIX)/man
 BINDIR   = $(PREFIX)/bin
 
 # By default locale and plugin files are built under the source directory:
-LOCDIR       = ./locale
-PLUGINDIR    = ./PLUGINS
-PLUGINLIBDIR = $(PLUGINDIR)/lib
+INCDIR       = $(CWD)/include
+LOCDIR       = $(CWD)/locale
+PLUGINDIR    = $(CWD)/PLUGINS
+LIBDIR       = $(PLUGINDIR)/lib
 # By default VDR requires only one single directory to operate:
 VIDEODIR     = /video
 # Activate the following line to build VDR according to the FHS ("File system Hierarchy Standard"):
@@ -47,8 +46,9 @@
 CONFDIR      = /var/lib/vdr
 CACHEDIR     = /var/cache/vdr
 RESDIR       = $(PREFIX)/share/vdr
+INCDIR       = $(PREFIX)/include
 LOCDIR       = $(PREFIX)/share/locale
-PLUGINLIBDIR = $(PREFIX)/lib/vdr
+LIBDIR       = $(PREFIX)/lib/vdr
 endif
 
 ### The remote control:
diff -ruN vdr-1.7.33/Make.global vdr-1.7.34/Make.global
--- vdr-1.7.33/Make.global	2010-02-06 15:54:12.000000000 +0100
+++ vdr-1.7.34/Make.global	1970-01-01 01:00:00.000000000 +0100
@@ -1,17 +0,0 @@
-#
-# Strictly necessary Makefile options for the Video Disk Recorder
-#
-# See the main source file 'vdr.c' for copyright information and
-# how to reach the author.
-#
-# $Id: Make.global 1.1 2010/02/06 14:54:12 kls Exp $
-
-# Plugins need to be compiled with position independent code, otherwise linking
-# VDR against it will fail.
-
-ifdef PLUGIN
-CFLAGS   += -fPIC
-CXXFLAGS += -fPIC
-endif
-
-DEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
diff -ruN vdr-1.7.33/Makefile vdr-1.7.34/Makefile
--- vdr-1.7.33/Makefile	2012-10-09 10:32:25.000000000 +0200
+++ vdr-1.7.34/Makefile	2012-12-23 12:28:13.000000000 +0100
@@ -4,28 +4,39 @@
 # See the main source file 'vdr.c' for copyright information and
 # how to reach the author.
 #
-# $Id: Makefile 2.30 2012/10/09 08:32:25 kls Exp $
+# $Id: Makefile 2.36 2012/12/23 11:28:13 kls Exp $
 
 .DELETE_ON_ERROR:
 
+# Compiler flags:
+
 CC       ?= gcc
 CFLAGS   ?= -g -O3 -Wall
 
 CXX      ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
+CXXFLAGS ?= $(CFLAGS) -Werror=overloaded-virtual -Wno-parentheses
+
+CFLAGS   += -fPIC
+CXXFLAGS += -fPIC
+
+CDEFINES  = -D_GNU_SOURCE
+CDEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
+
+# Directories:
 
+CWD     := $(shell pwd)
 LSIDIR   = ./libsi
 DESTDIR ?=
 PREFIX  ?= /usr/local
 MANDIR  ?= $(PREFIX)/share/man
 BINDIR  ?= $(PREFIX)/bin
-INCDIR  ?= $(PREFIX)/include
-LOCDIR  ?= ./locale
+INCDIR  ?= $(CWD)/include
+LOCDIR  ?= $(CWD)/locale
 LIBS     = -ljpeg -lpthread -ldl -lcap -lrt $(shell pkg-config --libs freetype2 fontconfig)
 INCLUDES ?= $(shell pkg-config --cflags freetype2 fontconfig)
 
-PLUGINDIR= ./PLUGINS
-PLUGINLIBDIR= $(PLUGINDIR)/lib
+PLUGINDIR= $(CWD)/PLUGINS
+LIBDIR   = $(PLUGINDIR)/lib
 
 # By default VDR requires only one single directory to operate:
 VIDEODIR     = /video
@@ -36,7 +47,6 @@
 
 PCDIR   ?= $(firstword $(subst :, , ${PKG_CONFIG_PATH}:$(shell pkg-config --variable=pc_path pkg-config):$(PREFIX)/lib/pkgconfig))
 
-include Make.global
 -include Make.config
 
 SILIB    = $(LSIDIR)/libsi.a
@@ -48,6 +58,8 @@
        skinclassic.o skinlcars.o skins.o skinsttng.o sourceparams.o sources.o spu.o status.o svdrp.o themes.o thread.o\
        timers.o tools.o transfer.o vdr.o videodir.o
 
+DEFINES += $(CDEFINES)
+
 ifndef NO_KBD
 DEFINES += -DREMOTE_KBD
 endif
@@ -66,14 +78,11 @@
 LIRC_DEVICE ?= /var/run/lirc/lircd
 
 DEFINES += -DLIRC_DEVICE=\"$(LIRC_DEVICE)\"
-
-DEFINES += -D_GNU_SOURCE
-
 DEFINES += -DVIDEODIR=\"$(VIDEODIR)\"
 DEFINES += -DCONFDIR=\"$(CONFDIR)\"
 DEFINES += -DCACHEDIR=\"$(CACHEDIR)\"
 DEFINES += -DRESDIR=\"$(RESDIR)\"
-DEFINES += -DPLUGINDIR=\"$(PLUGINLIBDIR)\"
+DEFINES += -DPLUGINDIR=\"$(LIBDIR)\"
 DEFINES += -DLOCDIR=\"$(LOCDIR)\"
 
 # Default values for directories:
@@ -87,7 +96,7 @@
 VDRVERSION = $(shell sed -ne '/define VDRVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
 APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
 
-all: vdr i18n vdr.pc
+all: vdr i18n plugins
 
 # Implicit rules:
 
@@ -106,27 +115,27 @@
 # The main program:
 
 vdr: $(OBJS) $(SILIB)
-	$(CXX) $(CXXFLAGS) -rdynamic $(LDFLAGS) $(OBJS) $(LIBS) $(LIBDIRS) $(SILIB) -o vdr
+	$(CXX) $(CXXFLAGS) -rdynamic $(LDFLAGS) $(OBJS) $(LIBS) $(SILIB) -o vdr
 
 # The libsi library:
 
 $(SILIB):
-	$(MAKE) -C $(LSIDIR) all
+	$(MAKE) --no-print-directory -C $(LSIDIR) CXXFLAGS="$(CXXFLAGS)" DEFINES="$(CDEFINES)" all
 
 # pkg-config file:
 
-vdr.pc: Makefile Make.global
+.PHONY: vdr.pc
+vdr.pc:
 	@echo "bindir=$(BINDIR)" > $@
-	@echo "includedir=$(INCDIR)" >> $@
 	@echo "configdir=$(CONFDIRDEF)" >> $@
 	@echo "videodir=$(VIDEODIR)" >> $@
 	@echo "cachedir=$(CACHEDIRDEF)" >> $@
 	@echo "resdir=$(RESDIRDEF)" >> $@
-	@echo "plugindir=$(PLUGINLIBDIR)" >> $@
-	@echo "localedir=$(LOCDIR)" >> $@
+	@echo "libdir=$(LIBDIR)" >> $@
+	@echo "locdir=$(LOCDIR)" >> $@
 	@echo "apiversion=$(APIVERSION)" >> $@
-	@echo "cflags=$(CXXFLAGS) $(DEFINES) -I\$${includedir}" >> $@
-	@echo "plugincflags=\$${cflags} -fPIC" >> $@
+	@echo "cflags=$(CFLAGS) $(CDEFINES) -I$(INCDIR)" >> $@
+	@echo "cxxflags=$(CXXFLAGS) $(CDEFINES) -I$(INCDIR)" >> $@
 	@echo "" >> $@
 	@echo "Name: VDR" >> $@
 	@echo "Description: Video Disk Recorder" >> $@
@@ -157,7 +166,7 @@
 	cp $< $@
 
 .PHONY: i18n
-i18n: $(I18Nmsgs)
+i18n: $(I18Nmsgs) $(I18Npot)
 
 install-i18n:
 	@mkdir -p $(DESTDIR)$(LOCDIR)
@@ -173,23 +182,27 @@
 
 # Plugins:
 
-plugins: include-dir
+plugins: include-dir vdr.pc
 	@failed="";\
 	noapiv="";\
 	for i in `ls $(PLUGINDIR)/src | grep -v '[^a-z0-9]'`; do\
-	    echo "Plugin $$i:";\
+	    echo "*** Plugin $$i:";\
 	    if ! grep -q "\$$(LIBDIR)/.*\$$(APIVERSION)" "$(PLUGINDIR)/src/$$i/Makefile" ; then\
 	       echo "ERROR: plugin $$i doesn't honor APIVERSION - not compiled!";\
 	       noapiv="$$noapiv $$i";\
 	       continue;\
 	       fi;\
-	    $(MAKE) -C "$(PLUGINDIR)/src/$$i" all || failed="$$failed $$i";\
+            target=all;\
+	    if [ "$(LIBDIR)" == "$(CWD)/PLUGINS/lib" ] && [ "$(LOCDIR)" == "$(CWD)/locale" ]; then\
+	       target=install;\
+	       fi;\
+	    $(MAKE) --no-print-directory -C "$(PLUGINDIR)/src/$$i" VDRDIR=$(CWD) $$target || failed="$$failed $$i";\
 	    done;\
 	if [ -n "$$noapiv" ] ; then echo; echo "*** plugins without APIVERSION:$$noapiv"; echo; fi;\
 	if [ -n "$$failed" ] ; then echo; echo "*** failed plugins:$$failed"; echo; exit 1; fi
 
 clean-plugins:
-	@for i in `ls $(PLUGINDIR)/src | grep -v '[^a-z0-9]'`; do $(MAKE) -C "$(PLUGINDIR)/src/$$i" clean; done
+	@for i in `ls $(PLUGINDIR)/src | grep -v '[^a-z0-9]'`; do $(MAKE) --no-print-directory -C "$(PLUGINDIR)/src/$$i" clean; done
 	@-rm -f $(PLUGINDIR)/lib/lib*-*.so.$(APIVERSION)
 
 # Install the files:
@@ -225,8 +238,9 @@
 # Plugins:
 
 install-plugins: plugins
-	@mkdir -p $(DESTDIR)$(PLUGINLIBDIR)
-	@cp --remove-destination $(PLUGINDIR)/lib/lib*-*.so.$(APIVERSION) $(DESTDIR)$(PLUGINLIBDIR)
+	@for i in `ls $(PLUGINDIR)/src | grep -v '[^a-z0-9]'`; do\
+	     $(MAKE) --no-print-directory -C "$(PLUGINDIR)/src/$$i" VDRDIR=$(CWD) DESTDIR=$(DESTDIR) install;\
+	     done
 
 # Includes:
 
@@ -253,9 +267,10 @@
 # Housekeeping:
 
 clean:
-	$(MAKE) -C $(LSIDIR) clean
-	-rm -f $(OBJS) $(DEPFILE) vdr vdr.pc core* *~
-	-rm -rf $(LOCALEDIR) $(PODIR)/*.mo $(PODIR)/*.pot
-	-rm -rf include
-	-rm -rf srcdoc
+	@$(MAKE) --no-print-directory -C $(LSIDIR) clean
+	@-rm -f $(OBJS) $(DEPFILE) vdr vdr.pc core* *~
+	@-rm -rf $(LOCALEDIR) $(PODIR)/*.mo $(PODIR)/*.pot
+	@-rm -rf include
+	@-rm -rf srcdoc
 CLEAN: clean
+distclean: clean-plugins clean
diff -ruN vdr-1.7.33/PLUGINS/src/dvbhddevice/Makefile vdr-1.7.34/PLUGINS/src/dvbhddevice/Makefile
--- vdr-1.7.33/PLUGINS/src/dvbhddevice/Makefile	2012-03-11 16:34:00.000000000 +0100
+++ vdr-1.7.34/PLUGINS/src/dvbhddevice/Makefile	2012-12-23 11:01:00.000000000 +0100
@@ -1,53 +1,50 @@
 #
 # Makefile for a Video Disk Recorder plugin
 #
-# $Id: Makefile 1.13 2012/03/11 15:34:00 kls Exp $
+# $Id: Makefile 1.19 2012/12/23 10:01:00 kls Exp $
 
 # The official name of this plugin.
 # This name will be used in the '-P...' option of VDR to load the plugin.
 # By default the main source file also carries this name.
-# IMPORTANT: the presence of this macro is important for the Make.config
-# file. So it must be defined, even if it is not used here!
-#
+
 PLUGIN = dvbhddevice
 
 ### The version number of this plugin (taken from the main source file):
 
 VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
 
-### The C++ compiler and options:
-
-CXX      ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
 ### The directory environment:
 
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# Use package data if installed...otherwise assume we're under the VDR source directory:
+PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
+LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
+LOCDIR = $(DESTDIR)$(call PKGCFG,locdir)
+#
 TMPDIR ?= /tmp
 
-### Make sure that necessary options are included:
-
-include $(VDRDIR)/Make.global
+### The compiler options:
 
-### Allow user defined options to overwrite defaults:
+export CFLAGS   = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
 
--include $(VDRDIR)/Make.config
+### The version number of VDR's plugin API:
 
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
-
-APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+APIVERSION = $(call PKGCFG,apiversion)
 
 ### The name of the distribution archive:
 
 ARCHIVE = $(PLUGIN)-$(VERSION)
 PACKAGE = vdr-$(ARCHIVE)
 
+### The name of the shared object file:
+
+SOFILE = libvdr-$(PLUGIN).so
+
 ### Includes and Defines (add further entries here):
 
-INCLUDES += -I$(VDRDIR)/include
+INCLUDES +=
 
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
 
 ### The object files (add further files here):
 
@@ -55,7 +52,7 @@
 
 ### The main target:
 
-all: libvdr-$(PLUGIN).so i18n
+all: $(SOFILE) i18n
 
 ### Implicit rules:
 
@@ -74,34 +71,39 @@
 ### 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))))))
+I18Nmo    = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
+I18Nmsgs  = $(addprefix $(LOCDIR)/, $(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 --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<see README>' -o $@ `ls $^`
+	xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<see README>' -o $@ `ls $^`
 
 %.po: $(I18Npot)
-	msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
+	msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $<
 	@touch $@
 
-$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
-	@mkdir -p $(dir $@)
-	cp $< $@
+$(I18Nmsgs): $(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
+	install -D -m644 $< $@
 
 .PHONY: i18n
-i18n: $(I18Nmsgs) $(I18Npot)
+i18n: $(I18Nmo) $(I18Npot)
+
+install-i18n: $(I18Nmsgs)
 
 ### Targets:
 
-libvdr-$(PLUGIN).so: $(OBJS) libhdffcmd
-	$(MAKE) -C libhdffcmd all
+$(SOFILE): $(OBJS) libhdffcmd
+	@$(MAKE) --no-print-directory -C libhdffcmd all
 	$(CXX) $(CXXFLAGS) -shared $(OBJS) libhdffcmd/libhdffcmd.a -o $@
-	@cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+
+install-lib: $(SOFILE)
+	install -D $^ $(LIBDIR)/$^.$(APIVERSION)
+
+install: install-lib install-i18n
 
 dist: $(I18Npo) clean
 	@-rm -rf $(TMPDIR)/$(ARCHIVE)
@@ -112,5 +114,6 @@
 	@echo Distribution package created as $(PACKAGE).tgz
 
 clean:
-	@-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
-	$(MAKE) -C libhdffcmd clean
+	@-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
+	@-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
+	@-$(MAKE) --no-print-directory -C libhdffcmd clean
diff -ruN vdr-1.7.33/PLUGINS/src/dvbhddevice/libhdffcmd/Makefile vdr-1.7.34/PLUGINS/src/dvbhddevice/libhdffcmd/Makefile
--- vdr-1.7.33/PLUGINS/src/dvbhddevice/libhdffcmd/Makefile	2012-10-09 11:54:26.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/dvbhddevice/libhdffcmd/Makefile	2012-12-18 12:53:29.000000000 +0100
@@ -24,29 +24,17 @@
 AR      ?= ar
 ARFLAGS ?= r
 
-### The directory environment:
-
-VDRDIR ?= ../../../..
-
-### Make sure that necessary options are included:
-
-include $(VDRDIR)/Make.global
-
-### Allow user defined options to overwrite defaults:
-
--include $(VDRDIR)/Make.config
-
 ### Implicit rules:
 
 %.o: %.c
 	$(CC) $(CFLAGS) -c $(DEFINES) $(INCLUDES) $<
 
-# Dependencies:
+### Dependencies:
 
 MAKEDEP = $(CC) -MM -MG
 DEPFILE = .dependencies
 $(DEPFILE): Makefile
-	@$(MAKEDEP) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@
+	@$(MAKEDEP) $(DEFINES) $(INCLUDES) $(LIB_OBJS:%.o=%.c) > $@
 
 -include $(DEPFILE)
 
@@ -62,7 +50,7 @@
 	ln -sf $(LIB_SHARED) $(LIB_NAME).so
 
 clean:
-	rm -f $(LIB_OBJS) $(DEPFILE) $(LIB_STATIC) $(LIB_NAME)*.so
+	@-rm -f $(LIB_OBJS) $(DEPFILE) $(LIB_STATIC) $(LIB_NAME)*.so
 
 install: $(LIB_SHARED)
 	chown root $(LIB_SHARED)
diff -ruN vdr-1.7.33/PLUGINS/src/dvbhddevice/po/de_DE.po vdr-1.7.34/PLUGINS/src/dvbhddevice/po/de_DE.po
--- vdr-1.7.33/PLUGINS/src/dvbhddevice/po/de_DE.po	2012-11-15 10:23:02.000000000 +0100
+++ vdr-1.7.34/PLUGINS/src/dvbhddevice/po/de_DE.po	2012-12-18 14:17:07.000000000 +0100
@@ -5,7 +5,7 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR \n"
+"Project-Id-Version: vdr-dvbhddevice 0.0.4\n"
 "Report-Msgid-Bugs-To: <see README>\n"
 "POT-Creation-Date: 2012-11-13 20:08+0100\n"
 "PO-Revision-Date: 2011-04-25 21:44+0200\n"
diff -ruN vdr-1.7.33/PLUGINS/src/dvbhddevice/po/fi_FI.po vdr-1.7.34/PLUGINS/src/dvbhddevice/po/fi_FI.po
--- vdr-1.7.33/PLUGINS/src/dvbhddevice/po/fi_FI.po	2012-11-15 10:23:02.000000000 +0100
+++ vdr-1.7.34/PLUGINS/src/dvbhddevice/po/fi_FI.po	2012-12-18 14:17:07.000000000 +0100
@@ -5,7 +5,7 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR \n"
+"Project-Id-Version: vdr-dvbhddevice 0.0.4\n"
 "Report-Msgid-Bugs-To: <see README>\n"
 "POT-Creation-Date: 2012-11-13 20:08+0100\n"
 "PO-Revision-Date: 2011-04-25 21:44+0200\n"
diff -ruN vdr-1.7.33/PLUGINS/src/dvbhddevice/po/it_IT.po vdr-1.7.34/PLUGINS/src/dvbhddevice/po/it_IT.po
--- vdr-1.7.33/PLUGINS/src/dvbhddevice/po/it_IT.po	2012-11-15 10:23:02.000000000 +0100
+++ vdr-1.7.34/PLUGINS/src/dvbhddevice/po/it_IT.po	2012-12-18 14:17:07.000000000 +0100
@@ -5,7 +5,7 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR\n"
+"Project-Id-Version: vdr-dvbhddevice 0.0.4\n"
 "Report-Msgid-Bugs-To: <see README>\n"
 "POT-Creation-Date: 2012-11-13 20:08+0100\n"
 "PO-Revision-Date: 2011-07-10 00:23+0100\n"
diff -ruN vdr-1.7.33/PLUGINS/src/dvbsddevice/Makefile vdr-1.7.34/PLUGINS/src/dvbsddevice/Makefile
--- vdr-1.7.33/PLUGINS/src/dvbsddevice/Makefile	2012-03-11 16:34:02.000000000 +0100
+++ vdr-1.7.34/PLUGINS/src/dvbsddevice/Makefile	2012-12-23 11:01:12.000000000 +0100
@@ -1,53 +1,49 @@
 #
 # Makefile for a Video Disk Recorder plugin
 #
-# $Id: Makefile 1.9 2012/03/11 15:34:02 kls Exp $
+# $Id: Makefile 1.15 2012/12/23 10:01:12 kls Exp $
 
 # The official name of this plugin.
 # This name will be used in the '-P...' option of VDR to load the plugin.
 # By default the main source file also carries this name.
-# IMPORTANT: the presence of this macro is important for the Make.config
-# file. So it must be defined, even if it is not used here!
-#
+
 PLUGIN = dvbsddevice
 
 ### The version number of this plugin (taken from the main source file):
 
 VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
 
-### The C++ compiler and options:
-
-CXX      ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
 ### The directory environment:
 
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# Use package data if installed...otherwise assume we're under the VDR source directory:
+PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
+LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
+#
 TMPDIR ?= /tmp
 
-### Make sure that necessary options are included:
-
-include $(VDRDIR)/Make.global
-
-### Allow user defined options to overwrite defaults:
+### The compiler options:
 
--include $(VDRDIR)/Make.config
+export CFLAGS   = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
 
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
+### The version number of VDR's plugin API:
 
-APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+APIVERSION = $(call PKGCFG,apiversion)
 
 ### The name of the distribution archive:
 
 ARCHIVE = $(PLUGIN)-$(VERSION)
 PACKAGE = vdr-$(ARCHIVE)
 
+### The name of the shared object file:
+
+SOFILE = libvdr-$(PLUGIN).so
+
 ### Includes and Defines (add further entries here):
 
-INCLUDES += -I$(VDRDIR)/include
+INCLUDES +=
 
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
 
 ### The object files (add further files here):
 
@@ -55,7 +51,7 @@
 
 ### The main target:
 
-all: libvdr-$(PLUGIN).so i18n
+all: $(SOFILE)
 
 ### Implicit rules:
 
@@ -71,38 +67,17 @@
 
 -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 --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<see README>' -o $@ `ls $^`
-
-%.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:
 
-libvdr-$(PLUGIN).so: $(OBJS)
+$(SOFILE): $(OBJS)
 	$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-	@cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
 
-dist: $(I18Npo) clean
+install-lib: $(SOFILE)
+	install -D $^ $(LIBDIR)/$^.$(APIVERSION)
+
+install: install-lib
+
+dist: clean
 	@-rm -rf $(TMPDIR)/$(ARCHIVE)
 	@mkdir $(TMPDIR)/$(ARCHIVE)
 	@cp -a * $(TMPDIR)/$(ARCHIVE)
@@ -111,4 +86,4 @@
 	@echo Distribution package created as $(PACKAGE).tgz
 
 clean:
-	@-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
+	@-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
diff -ruN vdr-1.7.33/PLUGINS/src/epgtableid0/Makefile vdr-1.7.34/PLUGINS/src/epgtableid0/Makefile
--- vdr-1.7.33/PLUGINS/src/epgtableid0/Makefile	2012-03-11 16:34:04.000000000 +0100
+++ vdr-1.7.34/PLUGINS/src/epgtableid0/Makefile	2012-12-23 11:01:40.000000000 +0100
@@ -1,53 +1,49 @@
 #
 # Makefile for a Video Disk Recorder plugin
 #
-# $Id: Makefile 1.2 2012/03/11 15:34:04 kls Exp $
+# $Id: Makefile 1.8 2012/12/23 10:01:40 kls Exp $
 
 # The official name of this plugin.
 # This name will be used in the '-P...' option of VDR to load the plugin.
 # By default the main source file also carries this name.
-# IMPORTANT: the presence of this macro is important for the Make.config
-# file. So it must be defined, even if it is not used here!
-#
+
 PLUGIN = epgtableid0
 
 ### The version number of this plugin (taken from the main source file):
 
 VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
 
-### The C++ compiler and options:
-
-CXX      ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
 ### The directory environment:
 
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# Use package data if installed...otherwise assume we're under the VDR source directory:
+PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
+LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
+#
 TMPDIR ?= /tmp
 
-### Make sure that necessary options are included:
-
-include $(VDRDIR)/Make.global
-
-### Allow user defined options to overwrite defaults:
+### The compiler options:
 
--include $(VDRDIR)/Make.config
+export CFLAGS   = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
 
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
+### The version number of VDR's plugin API:
 
-APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+APIVERSION = $(call PKGCFG,apiversion)
 
 ### The name of the distribution archive:
 
 ARCHIVE = $(PLUGIN)-$(VERSION)
 PACKAGE = vdr-$(ARCHIVE)
 
+### The name of the shared object file:
+
+SOFILE = libvdr-$(PLUGIN).so
+
 ### Includes and Defines (add further entries here):
 
-INCLUDES += -I$(VDRDIR)/include
+INCLUDES +=
 
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
 
 ### The object files (add further files here):
 
@@ -55,7 +51,7 @@
 
 ### The main target:
 
-all: libvdr-$(PLUGIN).so i18n
+all: $(SOFILE)
 
 ### Implicit rules:
 
@@ -71,38 +67,17 @@
 
 -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 --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<see README>' -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 $< $@
-
-.PHONY: i18n
-i18n: $(I18Nmsgs) $(I18Npot)
-
 ### Targets:
 
-libvdr-$(PLUGIN).so: $(OBJS)
+$(SOFILE): $(OBJS)
 	$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-	@cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
 
-dist: $(I18Npo) clean
+install-lib: $(SOFILE)
+	install -D $^ $(LIBDIR)/$^.$(APIVERSION)
+
+install: install-lib
+
+dist: clean
 	@-rm -rf $(TMPDIR)/$(ARCHIVE)
 	@mkdir $(TMPDIR)/$(ARCHIVE)
 	@cp -a * $(TMPDIR)/$(ARCHIVE)
@@ -111,4 +86,4 @@
 	@echo Distribution package created as $(PACKAGE).tgz
 
 clean:
-	@-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
+	@-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
diff -ruN vdr-1.7.33/PLUGINS/src/hello/Makefile vdr-1.7.34/PLUGINS/src/hello/Makefile
--- vdr-1.7.33/PLUGINS/src/hello/Makefile	2012-03-11 16:34:06.000000000 +0100
+++ vdr-1.7.34/PLUGINS/src/hello/Makefile	2012-12-23 11:03:51.000000000 +0100
@@ -1,53 +1,50 @@
 #
 # Makefile for a Video Disk Recorder plugin
 #
-# $Id: Makefile 2.9 2012/03/11 15:34:06 kls Exp $
+# $Id: Makefile 2.15 2012/12/23 10:03:51 kls Exp $
 
 # The official name of this plugin.
 # This name will be used in the '-P...' option of VDR to load the plugin.
 # By default the main source file also carries this name.
-# IMPORTANT: the presence of this macro is important for the Make.config
-# file. So it must be defined, even if it is not used here!
-#
+
 PLUGIN = hello
 
 ### The version number of this plugin (taken from the main source file):
 
 VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
 
-### The C++ compiler and options:
-
-CXX      ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
 ### The directory environment:
 
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# Use package data if installed...otherwise assume we're under the VDR source directory:
+PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
+LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
+LOCDIR = $(DESTDIR)$(call PKGCFG,locdir)
+#
 TMPDIR ?= /tmp
 
-### Make sure that necessary options are included:
-
-include $(VDRDIR)/Make.global
+### The compiler options:
 
-### Allow user defined options to overwrite defaults:
+export CFLAGS   = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
 
--include $(VDRDIR)/Make.config
+### The version number of VDR's plugin API:
 
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
-
-APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+APIVERSION = $(call PKGCFG,apiversion)
 
 ### The name of the distribution archive:
 
 ARCHIVE = $(PLUGIN)-$(VERSION)
 PACKAGE = vdr-$(ARCHIVE)
 
+### The name of the shared object file:
+
+SOFILE = libvdr-$(PLUGIN).so
+
 ### Includes and Defines (add further entries here):
 
-INCLUDES += -I$(VDRDIR)/include
+INCLUDES +=
 
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
 
 ### The object files (add further files here):
 
@@ -55,7 +52,7 @@
 
 ### The main target:
 
-all: libvdr-$(PLUGIN).so i18n
+all: $(SOFILE) i18n
 
 ### Implicit rules:
 
@@ -74,33 +71,38 @@
 ### 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))))))
+I18Nmo    = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
+I18Nmsgs  = $(addprefix $(LOCDIR)/, $(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 --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<vdr-bugs@tvdr.de>' -o $@ `ls $^`
+	xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<see README>' -o $@ `ls $^`
 
 %.po: $(I18Npot)
-	msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
+	msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $<
 	@touch $@
 
-$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
-	@mkdir -p $(dir $@)
-	cp $< $@
+$(I18Nmsgs): $(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
+	install -D -m644 $< $@
 
 .PHONY: i18n
-i18n: $(I18Nmsgs)
+i18n: $(I18Nmo) $(I18Npot)
+
+install-i18n: $(I18Nmsgs)
 
 ### Targets:
 
-libvdr-$(PLUGIN).so: $(OBJS)
+$(SOFILE): $(OBJS)
 	$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-	@cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+
+install-lib: $(SOFILE)
+	install -D $^ $(LIBDIR)/$^.$(APIVERSION)
+
+install: install-lib install-i18n
 
 dist: $(I18Npo) clean
 	@-rm -rf $(TMPDIR)/$(ARCHIVE)
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/ca_ES.po vdr-1.7.34/PLUGINS/src/hello/po/ca_ES.po
--- vdr-1.7.33/PLUGINS/src/hello/po/ca_ES.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/ca_ES.po	2012-12-18 14:17:10.000000000 +0100
@@ -7,9 +7,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2007-08-11 12:34+0200\n"
 "Last-Translator: Jordi Vil� <jvila@tinet.org>\n"
 "Language-Team: Catalan <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/cs_CZ.po vdr-1.7.34/PLUGINS/src/hello/po/cs_CZ.po
--- vdr-1.7.33/PLUGINS/src/hello/po/cs_CZ.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/cs_CZ.po	2012-12-18 14:17:10.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2007-08-11 12:34+0200\n"
 "Last-Translator: Vladim�r B�rta <vladimir.barta@k2atmitec.cz>\n"
 "Language-Team: Czech <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/da_DK.po vdr-1.7.34/PLUGINS/src/hello/po/da_DK.po
--- vdr-1.7.33/PLUGINS/src/hello/po/da_DK.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/da_DK.po	2012-12-18 14:17:10.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2007-08-11 12:34+0200\n"
 "Last-Translator: Mogens Elneff <mogens@elneff.dk>\n"
 "Language-Team: Danish <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/de_DE.po vdr-1.7.34/PLUGINS/src/hello/po/de_DE.po
--- vdr-1.7.33/PLUGINS/src/hello/po/de_DE.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/de_DE.po	2012-12-18 14:17:10.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2007-08-11 12:34+0200\n"
 "Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n"
 "Language-Team: German <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/el_GR.po vdr-1.7.34/PLUGINS/src/hello/po/el_GR.po
--- vdr-1.7.33/PLUGINS/src/hello/po/el_GR.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/el_GR.po	2012-12-18 14:17:10.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2007-08-11 12:34+0200\n"
 "Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n"
 "Language-Team: Greek <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/es_ES.po vdr-1.7.34/PLUGINS/src/hello/po/es_ES.po
--- vdr-1.7.33/PLUGINS/src/hello/po/es_ES.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/es_ES.po	2012-12-18 14:17:10.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2007-08-11 12:34+0200\n"
 "Last-Translator: Ruben Nunez Francisco <ruben.nunez@tang-it.com>\n"
 "Language-Team: Spanish <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/et_EE.po vdr-1.7.34/PLUGINS/src/hello/po/et_EE.po
--- vdr-1.7.33/PLUGINS/src/hello/po/et_EE.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/et_EE.po	2012-12-18 14:17:10.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2007-08-11 12:34+0200\n"
 "Last-Translator: Arthur Konovalov <kasjas@hot.ee>\n"
 "Language-Team: Estonian <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/fi_FI.po vdr-1.7.34/PLUGINS/src/hello/po/fi_FI.po
--- vdr-1.7.33/PLUGINS/src/hello/po/fi_FI.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/fi_FI.po	2012-12-18 14:17:10.000000000 +0100
@@ -8,9 +8,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2007-08-11 12:34+0200\n"
 "Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
 "Language-Team: Finnish <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/fr_FR.po vdr-1.7.34/PLUGINS/src/hello/po/fr_FR.po
--- vdr-1.7.33/PLUGINS/src/hello/po/fr_FR.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/fr_FR.po	2012-12-18 14:17:10.000000000 +0100
@@ -8,9 +8,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2007-08-11 12:34+0200\n"
 "Last-Translator: Nicolas Huillard <nhuillard@e-dition.fr>\n"
 "Language-Team: French <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/hr_HR.po vdr-1.7.34/PLUGINS/src/hello/po/hr_HR.po
--- vdr-1.7.33/PLUGINS/src/hello/po/hr_HR.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/hr_HR.po	2012-12-18 14:17:10.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2008-03-17 19:52+0100\n"
 "Last-Translator: Adrian Caval <anrxc@sysphere.org>\n"
 "Language-Team: Croatian <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/hu_HU.po vdr-1.7.34/PLUGINS/src/hello/po/hu_HU.po
--- vdr-1.7.33/PLUGINS/src/hello/po/hu_HU.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/hu_HU.po	2012-12-18 14:17:10.000000000 +0100
@@ -6,9 +6,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2007-08-11 12:34+0200\n"
 "Last-Translator: Istvan Koenigsberger <istvnko@hotmail.com>, Guido Josten <guido.josten@t-online.de>\n"
 "Language-Team: Hungarian <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/it_IT.po vdr-1.7.34/PLUGINS/src/hello/po/it_IT.po
--- vdr-1.7.33/PLUGINS/src/hello/po/it_IT.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/it_IT.po	2012-12-18 14:17:10.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2008-01-27 20:11+0100\n"
 "Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
 "Language-Team: Italian <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/lt_LT.po vdr-1.7.34/PLUGINS/src/hello/po/lt_LT.po
--- vdr-1.7.33/PLUGINS/src/hello/po/lt_LT.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/lt_LT.po	2012-12-18 14:17:10.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.7.10\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2009-12-08 12:18+0200\n"
 "Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n"
 "Language-Team: Lithuanian <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/nl_NL.po vdr-1.7.34/PLUGINS/src/hello/po/nl_NL.po
--- vdr-1.7.33/PLUGINS/src/hello/po/nl_NL.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/nl_NL.po	2012-12-18 14:17:10.000000000 +0100
@@ -7,9 +7,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2007-08-11 12:34+0200\n"
 "Last-Translator: Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>\n"
 "Language-Team: Dutch <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/nn_NO.po vdr-1.7.34/PLUGINS/src/hello/po/nn_NO.po
--- vdr-1.7.33/PLUGINS/src/hello/po/nn_NO.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/nn_NO.po	2012-12-18 14:17:10.000000000 +0100
@@ -6,9 +6,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2007-08-11 12:34+0200\n"
 "Last-Translator: Truls Slevigen <truls@slevigen.no>\n"
 "Language-Team: Norwegian Nynorsk <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/pl_PL.po vdr-1.7.34/PLUGINS/src/hello/po/pl_PL.po
--- vdr-1.7.33/PLUGINS/src/hello/po/pl_PL.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/pl_PL.po	2012-12-18 14:17:09.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2007-08-11 12:34+0200\n"
 "Last-Translator: Michael Rakowski <mrak@gmx.de>\n"
 "Language-Team: Polish <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/pt_PT.po vdr-1.7.34/PLUGINS/src/hello/po/pt_PT.po
--- vdr-1.7.33/PLUGINS/src/hello/po/pt_PT.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/pt_PT.po	2012-12-18 14:17:09.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2007-08-11 12:34+0200\n"
 "Last-Translator: Paulo Lopes <pmml@netvita.pt>\n"
 "Language-Team: Portuguese <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/ro_RO.po vdr-1.7.34/PLUGINS/src/hello/po/ro_RO.po
--- vdr-1.7.33/PLUGINS/src/hello/po/ro_RO.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/ro_RO.po	2012-12-18 14:17:10.000000000 +0100
@@ -6,9 +6,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2007-08-11 12:34+0200\n"
 "Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n"
 "Language-Team: Romanian <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/ru_RU.po vdr-1.7.34/PLUGINS/src/hello/po/ru_RU.po
--- vdr-1.7.33/PLUGINS/src/hello/po/ru_RU.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/ru_RU.po	2012-12-18 14:17:10.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2007-08-11 12:34+0200\n"
 "Last-Translator: Vyacheslav Dikonov <sdiconov@mail.ru>\n"
 "Language-Team: Russian <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/sk_SK.po vdr-1.7.34/PLUGINS/src/hello/po/sk_SK.po
--- vdr-1.7.33/PLUGINS/src/hello/po/sk_SK.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/sk_SK.po	2012-12-18 14:17:10.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2009-09-30 09:48+0100\n"
 "Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
 "Language-Team: Slovak <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/sl_SI.po vdr-1.7.34/PLUGINS/src/hello/po/sl_SI.po
--- vdr-1.7.33/PLUGINS/src/hello/po/sl_SI.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/sl_SI.po	2012-12-18 14:17:10.000000000 +0100
@@ -6,9 +6,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2007-08-11 12:34+0200\n"
 "Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n"
 "Language-Team: Slovenian <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/sv_SE.po vdr-1.7.34/PLUGINS/src/hello/po/sv_SE.po
--- vdr-1.7.33/PLUGINS/src/hello/po/sv_SE.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/sv_SE.po	2012-12-18 14:17:10.000000000 +0100
@@ -6,9 +6,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2007-08-11 12:34+0200\n"
 "Last-Translator: Tomas Prybil <tomas@prybil.se>\n"
 "Language-Team: Swedish <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/tr_TR.po vdr-1.7.34/PLUGINS/src/hello/po/tr_TR.po
--- vdr-1.7.33/PLUGINS/src/hello/po/tr_TR.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/tr_TR.po	2012-12-18 14:17:10.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2008-05-12 22:34:4800\n"
 "Last-Translator: Oktay Yolge�en <oktay_73@yahoo.de>\n"
 "Language-Team: Turkish <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/hello/po/zh_CN.po vdr-1.7.34/PLUGINS/src/hello/po/zh_CN.po
--- vdr-1.7.33/PLUGINS/src/hello/po/zh_CN.po	2011-05-21 14:36:11.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/hello/po/zh_CN.po	2012-12-18 14:17:10.000000000 +0100
@@ -8,9 +8,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-hello 0.2.5\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2009-01-23 09:48+0800\n"
 "Last-Translator: senin\n"
 "Language-Team: Chinese (simplified) <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/osddemo/Makefile vdr-1.7.34/PLUGINS/src/osddemo/Makefile
--- vdr-1.7.33/PLUGINS/src/osddemo/Makefile	2012-03-11 16:34:08.000000000 +0100
+++ vdr-1.7.34/PLUGINS/src/osddemo/Makefile	2012-12-23 11:04:05.000000000 +0100
@@ -1,51 +1,49 @@
 #
 # Makefile for a Video Disk Recorder plugin
 #
-# $Id: Makefile 2.5 2012/03/11 15:34:08 kls Exp $
+# $Id: Makefile 2.11 2012/12/23 10:04:05 kls Exp $
 
 # The official name of this plugin.
 # This name will be used in the '-P...' option of VDR to load the plugin.
 # By default the main source file also carries this name.
-#
+
 PLUGIN = osddemo
 
 ### The version number of this plugin (taken from the main source file):
 
 VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
 
-### The C++ compiler and options:
-
-CXX      ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
 ### The directory environment:
 
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# Use package data if installed...otherwise assume we're under the VDR source directory:
+PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
+LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
+#
 TMPDIR ?= /tmp
 
-### Make sure that necessary options are included:
-
-include $(VDRDIR)/Make.global
+### The compiler options:
 
-### Allow user defined options to overwrite defaults:
+export CFLAGS   = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
 
--include $(VDRDIR)/Make.config
+### The version number of VDR's plugin API:
 
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
-
-APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+APIVERSION = $(call PKGCFG,apiversion)
 
 ### The name of the distribution archive:
 
 ARCHIVE = $(PLUGIN)-$(VERSION)
 PACKAGE = vdr-$(ARCHIVE)
 
+### The name of the shared object file:
+
+SOFILE = libvdr-$(PLUGIN).so
+
 ### Includes and Defines (add further entries here):
 
-INCLUDES += -I$(VDRDIR)/include
+INCLUDES +=
 
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
 
 ### The object files (add further files here):
 
@@ -53,14 +51,14 @@
 
 ### The main target:
 
-all: libvdr-$(PLUGIN).so
+all: $(SOFILE)
 
 ### Implicit rules:
 
 %.o: %.c
 	$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
 
-# Dependencies:
+### Dependencies:
 
 MAKEDEP = $(CXX) -MM -MG
 DEPFILE = .dependencies
@@ -71,9 +69,13 @@
 
 ### Targets:
 
-libvdr-$(PLUGIN).so: $(OBJS)
+$(SOFILE): $(OBJS)
 	$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-	@cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+
+install-lib: $(SOFILE)
+	install -D $^ $(LIBDIR)/$^.$(APIVERSION)
+
+install: install-lib
 
 dist: clean
 	@-rm -rf $(TMPDIR)/$(ARCHIVE)
diff -ruN vdr-1.7.33/PLUGINS/src/pictures/Makefile vdr-1.7.34/PLUGINS/src/pictures/Makefile
--- vdr-1.7.33/PLUGINS/src/pictures/Makefile	2012-03-11 16:34:10.000000000 +0100
+++ vdr-1.7.34/PLUGINS/src/pictures/Makefile	2012-12-23 11:04:13.000000000 +0100
@@ -1,53 +1,50 @@
 #
 # Makefile for a Video Disk Recorder plugin
 #
-# $Id: Makefile 2.9 2012/03/11 15:34:10 kls Exp $
+# $Id: Makefile 2.15 2012/12/23 10:04:13 kls Exp $
 
 # The official name of this plugin.
 # This name will be used in the '-P...' option of VDR to load the plugin.
 # By default the main source file also carries this name.
-# IMPORTANT: the presence of this macro is important for the Make.config
-# file. So it must be defined, even if it is not used here!
-#
+
 PLUGIN = pictures
 
 ### The version number of this plugin (taken from the main source file):
 
 VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
 
-### The C++ compiler and options:
-
-CXX      ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
 ### The directory environment:
 
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# Use package data if installed...otherwise assume we're under the VDR source directory:
+PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
+LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
+LOCDIR = $(DESTDIR)$(call PKGCFG,locdir)
+#
 TMPDIR ?= /tmp
 
-### Make sure that necessary options are included:
-
-include $(VDRDIR)/Make.global
+### The compiler options:
 
-### Allow user defined options to overwrite defaults:
+export CFLAGS   = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
 
--include $(VDRDIR)/Make.config
+### The version number of VDR's plugin API:
 
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
-
-APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+APIVERSION = $(call PKGCFG,apiversion)
 
 ### The name of the distribution archive:
 
 ARCHIVE = $(PLUGIN)-$(VERSION)
 PACKAGE = vdr-$(ARCHIVE)
 
+### The name of the shared object file:
+
+SOFILE = libvdr-$(PLUGIN).so
+
 ### Includes and Defines (add further entries here):
 
-INCLUDES += -I$(VDRDIR)/include
+INCLUDES +=
 
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
 
 ### The object files (add further files here):
 
@@ -55,7 +52,7 @@
 
 ### The main target:
 
-all: libvdr-$(PLUGIN).so i18n
+all: $(SOFILE) i18n
 
 ### Implicit rules:
 
@@ -74,33 +71,38 @@
 ### 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))))))
+I18Nmo    = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
+I18Nmsgs  = $(addprefix $(LOCDIR)/, $(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 --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<vdr-bugs@tvdr.de>' -o $@ `ls $^`
+	xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<see README>' -o $@ `ls $^`
 
 %.po: $(I18Npot)
-	msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
+	msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $<
 	@touch $@
 
-$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
-	@mkdir -p $(dir $@)
-	cp $< $@
+$(I18Nmsgs): $(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
+	install -D -m644 $< $@
 
 .PHONY: i18n
-i18n: $(I18Nmsgs) $(I18Npot)
+i18n: $(I18Nmo) $(I18Npot)
+
+install-i18n: $(I18Nmsgs)
 
 ### Targets:
 
-libvdr-$(PLUGIN).so: $(OBJS)
+$(SOFILE): $(OBJS)
 	$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-	@cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+
+install-lib: $(SOFILE)
+	install -D $^ $(LIBDIR)/$^.$(APIVERSION)
+
+install: install-lib install-i18n
 
 dist: $(I18Npo) clean
 	@-rm -rf $(TMPDIR)/$(ARCHIVE)
@@ -111,4 +113,5 @@
 	@echo Distribution package created as $(PACKAGE).tgz
 
 clean:
-	@-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
+	@-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
+	@-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
diff -ruN vdr-1.7.33/PLUGINS/src/pictures/po/de_DE.po vdr-1.7.34/PLUGINS/src/pictures/po/de_DE.po
--- vdr-1.7.33/PLUGINS/src/pictures/po/de_DE.po	2011-05-21 14:36:19.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/pictures/po/de_DE.po	2012-12-18 14:17:15.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-pictures 0.1.3\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 12:57+0100\n"
 "PO-Revision-Date: 2008-01-12 17:41+0100\n"
 "Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n"
 "Language-Team: German <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/pictures/po/fi_FI.po vdr-1.7.34/PLUGINS/src/pictures/po/fi_FI.po
--- vdr-1.7.33/PLUGINS/src/pictures/po/fi_FI.po	2011-05-21 14:36:19.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/pictures/po/fi_FI.po	2012-12-18 14:17:15.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-pictures 0.1.3\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 12:57+0100\n"
 "PO-Revision-Date: 2008-01-12 17:41+0100\n"
 "Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
 "Language-Team: Finnish <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/pictures/po/fr_FR.po vdr-1.7.34/PLUGINS/src/pictures/po/fr_FR.po
--- vdr-1.7.33/PLUGINS/src/pictures/po/fr_FR.po	2011-05-21 14:36:19.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/pictures/po/fr_FR.po	2012-12-18 14:17:15.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-pictures 0.1.3\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 12:57+0100\n"
 "PO-Revision-Date: 2008-01-12 17:41+0100\n"
 "Last-Translator: Patrice Staudt <ipatrice.staudt@laposte.net>\n"
 "Language-Team: French <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/pictures/po/it_IT.po vdr-1.7.34/PLUGINS/src/pictures/po/it_IT.po
--- vdr-1.7.33/PLUGINS/src/pictures/po/it_IT.po	2011-05-21 14:36:19.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/pictures/po/it_IT.po	2012-12-18 14:17:15.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-pictures 0.1.3\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 12:57+0100\n"
 "PO-Revision-Date: 2008-01-27 20:22+0100\n"
 "Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
 "Language-Team: Italian <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/pictures/po/lt_LT.po vdr-1.7.34/PLUGINS/src/pictures/po/lt_LT.po
--- vdr-1.7.33/PLUGINS/src/pictures/po/lt_LT.po	2011-05-21 14:36:19.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/pictures/po/lt_LT.po	2012-12-18 14:17:15.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.7.10\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-pictures 0.1.3\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 12:57+0100\n"
 "PO-Revision-Date: 2009-12-08 12:41+0100\n"
 "Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>, 2009\n"
 "Language-Team: Lithuanian <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/pictures/po/ru_RU.po vdr-1.7.34/PLUGINS/src/pictures/po/ru_RU.po
--- vdr-1.7.33/PLUGINS/src/pictures/po/ru_RU.po	2011-05-21 14:36:19.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/pictures/po/ru_RU.po	2012-12-18 14:17:15.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-pictures 0.1.3\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 12:57+0100\n"
 "PO-Revision-Date: 2008-03-14 00:45+0100\n"
 "Last-Translator: Alexander Gross <Bikalexander@gmail.com>\n"
 "Language-Team: Russian <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/pictures/po/sk_SK.po vdr-1.7.34/PLUGINS/src/pictures/po/sk_SK.po
--- vdr-1.7.33/PLUGINS/src/pictures/po/sk_SK.po	2011-05-21 14:36:19.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/pictures/po/sk_SK.po	2012-12-18 14:17:15.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-15 15:08+0200\n"
+"Project-Id-Version: vdr-pictures 0.1.3\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 12:57+0100\n"
 "PO-Revision-Date: 2009-09-30 12:54+0100\n"
 "Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
 "Language-Team: Slovak <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/rcu/Makefile vdr-1.7.34/PLUGINS/src/rcu/Makefile
--- vdr-1.7.33/PLUGINS/src/rcu/Makefile	2012-03-11 16:34:12.000000000 +0100
+++ vdr-1.7.34/PLUGINS/src/rcu/Makefile	2012-12-23 11:04:15.000000000 +0100
@@ -1,53 +1,49 @@
 #
 # Makefile for a Video Disk Recorder plugin
 #
-# $Id: Makefile 1.2 2012/03/11 15:34:12 kls Exp $
+# $Id: Makefile 1.8 2012/12/23 10:04:15 kls Exp $
 
 # The official name of this plugin.
 # This name will be used in the '-P...' option of VDR to load the plugin.
 # By default the main source file also carries this name.
-# IMPORTANT: the presence of this macro is important for the Make.config
-# file. So it must be defined, even if it is not used here!
-#
+
 PLUGIN = rcu
 
 ### The version number of this plugin (taken from the main source file):
 
 VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
 
-### The C++ compiler and options:
-
-CXX      ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
 ### The directory environment:
 
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# Use package data if installed...otherwise assume we're under the VDR source directory:
+PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
+LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
+#
 TMPDIR ?= /tmp
 
-### Make sure that necessary options are included:
-
-include $(VDRDIR)/Make.global
-
-### Allow user defined options to overwrite defaults:
+### The compiler options:
 
--include $(VDRDIR)/Make.config
+export CFLAGS   = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
 
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
+### The version number of VDR's plugin API:
 
-APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+APIVERSION = $(call PKGCFG,apiversion)
 
 ### The name of the distribution archive:
 
 ARCHIVE = $(PLUGIN)-$(VERSION)
 PACKAGE = vdr-$(ARCHIVE)
 
+### The name of the shared object file:
+
+SOFILE = libvdr-$(PLUGIN).so
+
 ### Includes and Defines (add further entries here):
 
-INCLUDES += -I$(VDRDIR)/include
+INCLUDES +=
 
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
 
 ### The object files (add further files here):
 
@@ -55,7 +51,7 @@
 
 ### The main target:
 
-all: libvdr-$(PLUGIN).so i18n
+all: $(SOFILE)
 
 ### Implicit rules:
 
@@ -71,38 +67,17 @@
 
 -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 --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<see README>' -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 $< $@
-
-.PHONY: i18n
-i18n: $(I18Nmsgs) $(I18Npot)
-
 ### Targets:
 
-libvdr-$(PLUGIN).so: $(OBJS)
+$(SOFILE): $(OBJS)
 	$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-	@cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
 
-dist: $(I18Npo) clean
+install-lib: $(SOFILE)
+	install -D $^ $(LIBDIR)/$^.$(APIVERSION)
+
+install: install-lib
+
+dist: clean
 	@-rm -rf $(TMPDIR)/$(ARCHIVE)
 	@mkdir $(TMPDIR)/$(ARCHIVE)
 	@cp -a * $(TMPDIR)/$(ARCHIVE)
@@ -111,4 +86,4 @@
 	@echo Distribution package created as $(PACKAGE).tgz
 
 clean:
-	@-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
+	@-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
diff -ruN vdr-1.7.33/PLUGINS/src/servicedemo/Makefile vdr-1.7.34/PLUGINS/src/servicedemo/Makefile
--- vdr-1.7.33/PLUGINS/src/servicedemo/Makefile	2012-03-11 16:34:13.000000000 +0100
+++ vdr-1.7.34/PLUGINS/src/servicedemo/Makefile	2012-12-23 11:04:16.000000000 +0100
@@ -1,13 +1,12 @@
 #
 # Makefile for a Video Disk Recorder plugin
 #
-# $Id: Makefile 2.5 2012/03/11 15:34:13 kls Exp $
+# $Id: Makefile 2.9 2012/12/23 10:04:16 kls Exp $
 
 # The official name of this plugin.
 # This name will be used in the '-P...' option of VDR to load the plugin.
 # By default the main source file also carries this name.
-#
-PLUGIN  = servicedemo # dummy name for Make.config
+
 PLUGIN1 = svccli
 PLUGIN2 = svcsvr
 
@@ -15,28 +14,22 @@
 
 VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN1).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
 
-### The C++ compiler and options:
-
-CXX      ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
 ### The directory environment:
 
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# Use package data if installed...otherwise assume we're under the VDR source directory:
+PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
+LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
+#
 TMPDIR ?= /tmp
 
-### Make sure that necessary options are included:
-
-include $(VDRDIR)/Make.global
+### The compiler options:
 
-### Allow user defined options to overwrite defaults:
+export CFLAGS   = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
 
--include $(VDRDIR)/Make.config
+### The version number of VDR's plugin API:
 
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
-
-APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+APIVERSION = $(call PKGCFG,apiversion)
 
 ### The name of the distribution archive:
 
@@ -45,9 +38,9 @@
 
 ### Includes and Defines (add further entries here):
 
-INCLUDES += -I$(VDRDIR)/include
+INCLUDES +=
 
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
 
 ### The object files (add further files here):
 
@@ -62,7 +55,7 @@
 %.o: %.c
 	$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
 
-# Dependencies:
+### Dependencies:
 
 MAKEDEP = $(CXX) -MM -MG
 DEPFILE = .dependencies
@@ -75,11 +68,13 @@
 
 libvdr-$(PLUGIN1).so: $(PLUGIN1).o
 	$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN1).o -o $@
-	@cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
 
 libvdr-$(PLUGIN2).so: $(PLUGIN2).o
 	$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN2).o -o $@
-	@cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+
+install: libvdr-$(PLUGIN1).so libvdr-$(PLUGIN2).so
+	install -D libvdr-$(PLUGIN1).so $(LIBDIR)/libvdr-$(PLUGIN1).so.$(APIVERSION)
+	install -D libvdr-$(PLUGIN2).so $(LIBDIR)/libvdr-$(PLUGIN2).so.$(APIVERSION)
 
 dist: clean
 	@-rm -rf $(TMPDIR)/$(ARCHIVE)
diff -ruN vdr-1.7.33/PLUGINS/src/skincurses/Makefile vdr-1.7.34/PLUGINS/src/skincurses/Makefile
--- vdr-1.7.33/PLUGINS/src/skincurses/Makefile	2012-03-11 16:34:18.000000000 +0100
+++ vdr-1.7.34/PLUGINS/src/skincurses/Makefile	2012-12-23 11:04:18.000000000 +0100
@@ -1,53 +1,50 @@
 #
 # Makefile for a Video Disk Recorder plugin
 #
-# $Id: Makefile 2.9 2012/03/11 15:34:18 kls Exp $
+# $Id: Makefile 2.15 2012/12/23 10:04:18 kls Exp $
 
 # The official name of this plugin.
 # This name will be used in the '-P...' option of VDR to load the plugin.
 # By default the main source file also carries this name.
-# IMPORTANT: the presence of this macro is important for the Make.config
-# file. So it must be defined, even if it is not used here!
-#
+
 PLUGIN = skincurses
 
 ### The version number of this plugin (taken from the main source file):
 
 VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
 
-### The C++ compiler and options:
-
-CXX      ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
 ### The directory environment:
 
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# Use package data if installed...otherwise assume we're under the VDR source directory:
+PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
+LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
+LOCDIR = $(DESTDIR)$(call PKGCFG,locdir)
+#
 TMPDIR ?= /tmp
 
-### Make sure that necessary options are included:
-
-include $(VDRDIR)/Make.global
+### The compiler options:
 
-### Allow user defined options to overwrite defaults:
+export CFLAGS   = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
 
--include $(VDRDIR)/Make.config
+### The version number of VDR's plugin API:
 
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
-
-APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+APIVERSION = $(call PKGCFG,apiversion)
 
 ### The name of the distribution archive:
 
 ARCHIVE = $(PLUGIN)-$(VERSION)
 PACKAGE = vdr-$(ARCHIVE)
 
+### The name of the shared object file:
+
+SOFILE = libvdr-$(PLUGIN).so
+
 ### Includes and Defines (add further entries here):
 
-INCLUDES += -I$(VDRDIR)/include
+INCLUDES +=
 
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
 
 ### The object files (add further files here):
 
@@ -55,7 +52,7 @@
 
 ### The main target:
 
-all: libvdr-$(PLUGIN).so i18n
+all: $(SOFILE) i18n
 
 ### Implicit rules:
 
@@ -74,33 +71,38 @@
 ### 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))))))
+I18Nmo    = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
+I18Nmsgs  = $(addprefix $(LOCDIR)/, $(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 --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<vdr-bugs@tvdr.de>' -o $@ `ls $^`
+	xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<see README>' -o $@ `ls $^`
 
 %.po: $(I18Npot)
-	msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
+	msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $<
 	@touch $@
 
-$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
-	@mkdir -p $(dir $@)
-	cp $< $@
+$(I18Nmsgs): $(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
+	install -D -m644 $< $@
 
 .PHONY: i18n
-i18n: $(I18Nmsgs) $(I18Npot)
+i18n: $(I18Nmo) $(I18Npot)
+
+install-i18n: $(I18Nmsgs)
 
 ### Targets:
 
-libvdr-$(PLUGIN).so: $(OBJS)
+$(SOFILE): $(OBJS)
 	$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -lncursesw -o $@
-	@cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+
+install-lib: $(SOFILE)
+	install -D $^ $(LIBDIR)/$^.$(APIVERSION)
+
+install: install-lib install-i18n
 
 dist: $(I18Npo) clean
 	@-rm -rf $(TMPDIR)/$(ARCHIVE)
@@ -111,4 +113,5 @@
 	@echo Distribution package created as $(PACKAGE).tgz
 
 clean:
-	@-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
+	@-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
+	@-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
diff -ruN vdr-1.7.33/PLUGINS/src/skincurses/po/de_DE.po vdr-1.7.34/PLUGINS/src/skincurses/po/de_DE.po
--- vdr-1.7.33/PLUGINS/src/skincurses/po/de_DE.po	2011-05-21 14:36:22.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/skincurses/po/de_DE.po	2012-12-18 14:17:17.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-21 14:36+0200\n"
+"Project-Id-Version: vdr-skincurses 0.1.12\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2007-08-15 16:07+0200\n"
 "Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n"
 "Language-Team: German <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/skincurses/po/fi_FI.po vdr-1.7.34/PLUGINS/src/skincurses/po/fi_FI.po
--- vdr-1.7.33/PLUGINS/src/skincurses/po/fi_FI.po	2011-05-21 14:36:22.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/skincurses/po/fi_FI.po	2012-12-18 14:17:17.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-21 14:36+0200\n"
+"Project-Id-Version: vdr-skincurses 0.1.12\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2007-08-14 20:48+0300\n"
 "Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
 "Language-Team: Finnish <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/skincurses/po/it_IT.po vdr-1.7.34/PLUGINS/src/skincurses/po/it_IT.po
--- vdr-1.7.33/PLUGINS/src/skincurses/po/it_IT.po	2011-05-21 14:36:22.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/skincurses/po/it_IT.po	2012-12-18 14:17:17.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-21 14:36+0200\n"
+"Project-Id-Version: vdr-skincurses 0.1.12\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2008-01-27 20:35+0100\n"
 "Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
 "Language-Team: Italian <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/skincurses/po/lt_LT.po vdr-1.7.34/PLUGINS/src/skincurses/po/lt_LT.po
--- vdr-1.7.33/PLUGINS/src/skincurses/po/lt_LT.po	2011-05-21 14:36:22.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/skincurses/po/lt_LT.po	2012-12-18 14:17:17.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.7.12\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-21 14:36+0200\n"
+"Project-Id-Version: vdr-skincurses 0.1.12\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2010-02-22 18:18+0200\n"
 "Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n"
 "Language-Team: Lithuanian <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/skincurses/po/ru_RU.po vdr-1.7.34/PLUGINS/src/skincurses/po/ru_RU.po
--- vdr-1.7.33/PLUGINS/src/skincurses/po/ru_RU.po	2011-05-21 14:36:22.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/skincurses/po/ru_RU.po	2012-12-18 14:17:17.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-21 14:36+0200\n"
+"Project-Id-Version: vdr-skincurses 0.1.12\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2008-03-14 00:21+0100\n"
 "Last-Translator: Alexander Gross <Bikalexander@gmail.com>\n"
 "Language-Team: Russian <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/skincurses/po/sk_SK.po vdr-1.7.34/PLUGINS/src/skincurses/po/sk_SK.po
--- vdr-1.7.33/PLUGINS/src/skincurses/po/sk_SK.po	2011-05-21 14:36:22.000000000 +0200
+++ vdr-1.7.34/PLUGINS/src/skincurses/po/sk_SK.po	2012-12-18 14:17:17.000000000 +0100
@@ -5,9 +5,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: VDR 1.6.0\n"
-"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2011-05-21 14:36+0200\n"
+"Project-Id-Version: vdr-skincurses 0.1.12\n"
+"Report-Msgid-Bugs-To: <see README>\n"
+"POT-Creation-Date: 2012-12-18 14:04+0100\n"
 "PO-Revision-Date: 2009-09-30 12:52+0100\n"
 "Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
 "Language-Team: Slovak <vdr@linuxtv.org>\n"
diff -ruN vdr-1.7.33/PLUGINS/src/status/Makefile vdr-1.7.34/PLUGINS/src/status/Makefile
--- vdr-1.7.33/PLUGINS/src/status/Makefile	2012-03-11 16:34:20.000000000 +0100
+++ vdr-1.7.34/PLUGINS/src/status/Makefile	2012-12-23 11:04:43.000000000 +0100
@@ -1,51 +1,49 @@
 #
 # Makefile for a Video Disk Recorder plugin
 #
-# $Id: Makefile 2.5 2012/03/11 15:34:20 kls Exp $
+# $Id: Makefile 2.10 2012/12/23 10:04:43 kls Exp $
 
 # The official name of this plugin.
 # This name will be used in the '-P...' option of VDR to load the plugin.
 # By default the main source file also carries this name.
-#
+
 PLUGIN = status
 
 ### The version number of this plugin (taken from the main source file):
 
 VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
 
-### The C++ compiler and options:
-
-CXX      ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
 ### The directory environment:
 
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# Use package data if installed...otherwise assume we're under the VDR source directory:
+PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
+LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
+#
 TMPDIR ?= /tmp
 
-### Make sure that necessary options are included:
-
-include $(VDRDIR)/Make.global
+### The compiler options:
 
-### Allow user defined options to overwrite defaults:
+export CFLAGS   = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
 
--include $(VDRDIR)/Make.config
+### The version number of VDR's plugin API:
 
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
-
-APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+APIVERSION = $(call PKGCFG,apiversion)
 
 ### The name of the distribution archive:
 
 ARCHIVE = $(PLUGIN)-$(VERSION)
 PACKAGE = vdr-$(ARCHIVE)
 
+### The name of the shared object file:
+
+SOFILE = libvdr-$(PLUGIN).so
+
 ### Includes and Defines (add further entries here):
 
-INCLUDES += -I$(VDRDIR)/include
+INCLUDES +=
 
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
 
 ### The object files (add further files here):
 
@@ -53,14 +51,14 @@
 
 ### The main target:
 
-all: libvdr-$(PLUGIN).so
+all: $(SOFILE)
 
 ### Implicit rules:
 
 %.o: %.c
 	$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
 
-# Dependencies:
+### Dependencies:
 
 MAKEDEP = $(CXX) -MM -MG
 DEPFILE = .dependencies
@@ -71,9 +69,13 @@
 
 ### Targets:
 
-libvdr-$(PLUGIN).so: $(OBJS)
+$(SOFILE): $(OBJS)
 	$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-	@cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+
+install-lib: $(SOFILE)
+	install -D $^ $(LIBDIR)/$^.$(APIVERSION)
+
+install: install-lib
 
 dist: clean
 	@-rm -rf $(TMPDIR)/$(ARCHIVE)
diff -ruN vdr-1.7.33/PLUGINS/src/svdrpdemo/Makefile vdr-1.7.34/PLUGINS/src/svdrpdemo/Makefile
--- vdr-1.7.33/PLUGINS/src/svdrpdemo/Makefile	2012-03-11 16:34:22.000000000 +0100
+++ vdr-1.7.34/PLUGINS/src/svdrpdemo/Makefile	2012-12-23 11:04:47.000000000 +0100
@@ -1,51 +1,49 @@
 #
 # Makefile for a Video Disk Recorder plugin
 #
-# $Id: Makefile 2.5 2012/03/11 15:34:22 kls Exp $
+# $Id: Makefile 2.10 2012/12/23 10:04:47 kls Exp $
 
 # The official name of this plugin.
 # This name will be used in the '-P...' option of VDR to load the plugin.
 # By default the main source file also carries this name.
-#
+
 PLUGIN = svdrpdemo
 
 ### The version number of this plugin (taken from the main source file):
 
 VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
 
-### The C++ compiler and options:
-
-CXX      ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
 ### The directory environment:
 
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# Use package data if installed...otherwise assume we're under the VDR source directory:
+PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
+LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
+#
 TMPDIR ?= /tmp
 
-### Make sure that necessary options are included:
-
-include $(VDRDIR)/Make.global
+### The compiler options:
 
-### Allow user defined options to overwrite defaults:
+export CFLAGS   = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
 
--include $(VDRDIR)/Make.config
+### The version number of VDR's plugin API:
 
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
-
-APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+APIVERSION = $(call PKGCFG,apiversion)
 
 ### The name of the distribution archive:
 
 ARCHIVE = $(PLUGIN)-$(VERSION)
 PACKAGE = vdr-$(ARCHIVE)
 
+### The name of the shared object file:
+
+SOFILE = libvdr-$(PLUGIN).so
+
 ### Includes and Defines (add further entries here):
 
-INCLUDES += -I$(VDRDIR)/include
+INCLUDES +=
 
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
 
 ### The object files (add further files here):
 
@@ -53,14 +51,14 @@
 
 ### The main target:
 
-all: libvdr-$(PLUGIN).so
+all: $(SOFILE)
 
 ### Implicit rules:
 
 %.o: %.c
 	$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
 
-# Dependencies:
+### Dependencies:
 
 MAKEDEP = $(CXX) -MM -MG
 DEPFILE = .dependencies
@@ -71,9 +69,13 @@
 
 ### Targets:
 
-libvdr-$(PLUGIN).so: $(OBJS)
+$(SOFILE): $(OBJS)
 	$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-	@cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+
+install-lib: $(SOFILE)
+	install -D $^ $(LIBDIR)/$^.$(APIVERSION)
+
+install: install-lib
 
 dist: clean
 	@-rm -rf $(TMPDIR)/$(ARCHIVE)
diff -ruN vdr-1.7.33/config.h vdr-1.7.34/config.h
--- vdr-1.7.33/config.h	2012-12-05 12:33:20.000000000 +0100
+++ vdr-1.7.34/config.h	2012-12-11 10:59:16.000000000 +0100
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: config.h 2.57 2012/12/05 11:33:20 kls Exp $
+ * $Id: config.h 2.58 2012/12/11 09:59:16 kls Exp $
  */
 
 #ifndef __CONFIG_H
@@ -22,13 +22,13 @@
 
 // VDR's own version number:
 
-#define VDRVERSION  "1.7.33"
-#define VDRVERSNUM   10733  // Version * 10000 + Major * 100 + Minor
+#define VDRVERSION  "1.7.34"
+#define VDRVERSNUM   10734  // Version * 10000 + Major * 100 + Minor
 
 // The plugin API's version number:
 
-#define APIVERSION  "1.7.33"
-#define APIVERSNUM   10733  // Version * 10000 + Major * 100 + Minor
+#define APIVERSION  "1.7.34"
+#define APIVERSNUM   10734  // 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
diff -ruN vdr-1.7.33/libsi/Makefile vdr-1.7.34/libsi/Makefile
--- vdr-1.7.33/libsi/Makefile	2012-01-18 13:31:40.000000000 +0100
+++ vdr-1.7.34/libsi/Makefile	2012-12-18 14:35:54.000000000 +0100
@@ -1,27 +1,16 @@
 #
 # Makefile for a libsi
 #
-# $Id: Makefile 2.3 2012/01/18 12:31:40 kls Exp $
+# $Id: Makefile 2.4 2012/12/18 13:35:54 kls Exp $
 
-### The C++ compiler and options:
+### The archiver options:
 
-CXX      ?= g++
-CXXFLAGS ?= -O2 -g -Wall -Woverloaded-virtual
 AR       ?= ar
 ARFLAGS  ?= ru
 RANLIB   ?= ranlib
 
-include ../Make.global
 -include ../Make.config
 
-### The directory environment:
-
-INCLUDES +=
-
-DEFINES +=
-
-LIBS +=
-
 ### The object files (add further files here):
 
 OBJS = util.o si.o section.o descriptor.o
@@ -31,7 +20,7 @@
 %.o: %.c
 	$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
 
-# Dependencies:
+### Dependencies:
 
 MAKEDEP = $(CXX) -MM -MG
 DEPFILE = .dependencies
diff -ruN vdr-1.7.33/menu.c vdr-1.7.34/menu.c
--- vdr-1.7.33/menu.c	2012-12-07 14:48:15.000000000 +0100
+++ vdr-1.7.34/menu.c	2012-12-21 12:11:14.000000000 +0100
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: menu.c 2.71 2012/12/07 13:48:15 kls Exp $
+ * $Id: menu.c 2.72 2012/12/21 11:11:14 kls Exp $
  */
 
 #include "menu.h"
@@ -172,7 +172,7 @@
 cMenuEditChannel::cMenuEditChannel(cChannel *Channel, bool New)
 :cOsdMenu(tr("Edit channel"), 16)
 {
-  SetMenuCategory(mcChannel);
+  SetMenuCategory(mcChannelEdit);
   channel = Channel;
   sourceParam = NULL;
   *name = 0;
@@ -878,7 +878,7 @@
 cMenuEditTimer::cMenuEditTimer(cTimer *Timer, bool New)
 :cOsdMenu(tr("Edit timer"), 12)
 {
-  SetMenuCategory(mcTimer);
+  SetMenuCategory(mcTimerEdit);
   file = NULL;
   day = firstday = NULL;
   timer = Timer;
@@ -1378,7 +1378,7 @@
 cMenuWhatsOn::cMenuWhatsOn(const cSchedules *Schedules, bool Now, int CurrentChannelNr)
 :cOsdMenu(Now ? tr("What's on now?") : tr("What's on next?"), CHNUMWIDTH, CHNAMWIDTH, 6, 4)
 {
-  SetMenuCategory(mcSchedule);
+  SetMenuCategory(Now ? mcScheduleNow : mcScheduleNext);
   now = Now;
   helpKeys = -1;
   timerState = 0;
@@ -2120,7 +2120,7 @@
 cMenuRecording::cMenuRecording(const cRecording *Recording, bool WithButtons)
 :cOsdMenu(tr("Recording info"))
 {
-  SetMenuCategory(mcRecording);
+  SetMenuCategory(mcRecordingInfo);
   recording = Recording;
   withButtons = WithButtons;
   if (withButtons)
@@ -2534,6 +2534,7 @@
 
 cMenuSetupOSD::cMenuSetupOSD(void)
 {
+  SetMenuCategory(mcSetupOsd);
   osdLanguageIndex = I18nCurrentLanguage();
   numSkins = Skins.Count();
   skinIndex = originalSkinIndex = Skins.Current()->Index();
@@ -2683,6 +2684,7 @@
 
 cMenuSetupEPG::cMenuSetupEPG(void)
 {
+  SetMenuCategory(mcSetupEpg);
   for (numLanguages = 0; numLanguages < I18nLanguages()->Size() && data.EPGLanguages[numLanguages] >= 0; numLanguages++)
       ;
   originalNumLanguages = numLanguages;
@@ -2779,6 +2781,7 @@
 
 cMenuSetupDVB::cMenuSetupDVB(void)
 {
+  SetMenuCategory(mcSetupDvb);
   for (numAudioLanguages = 0; numAudioLanguages < I18nLanguages()->Size() && data.AudioLanguages[numAudioLanguages] >= 0; numAudioLanguages++)
       ;
   for (numSubtitleLanguages = 0; numSubtitleLanguages < I18nLanguages()->Size() && data.SubtitleLanguages[numSubtitleLanguages] >= 0; numSubtitleLanguages++)
@@ -2924,6 +2927,7 @@
 cMenuSetupLNB::cMenuSetupLNB(void)
 :satCableNumbers(MAXDEVICES)
 {
+  SetMenuCategory(mcSetupLnb);
   satCableNumbers.FromString(data.DeviceBondings);
   SetSection(tr("LNB"));
   Setup();
@@ -3025,6 +3029,7 @@
 
 cMenuSetupCAM::cMenuSetupCAM(void)
 {
+  SetMenuCategory(mcSetupCam);
   SetSection(tr("CAM"));
   SetCols(15);
   SetHasHotkeys();
@@ -3103,6 +3108,7 @@
 
 cMenuSetupRecord::cMenuSetupRecord(void)
 {
+  SetMenuCategory(mcSetupRecord);
   pauseKeyHandlingTexts[0] = tr("do not pause live video");
   pauseKeyHandlingTexts[1] = tr("confirm pause live video");
   pauseKeyHandlingTexts[2] = tr("pause live video");
@@ -3139,6 +3145,7 @@
 
 cMenuSetupReplay::cMenuSetupReplay(void)
 {
+  SetMenuCategory(mcSetupReplay);
   SetSection(tr("Replay"));
   Add(new cMenuEditBoolItem(tr("Setup.Replay$Multi speed mode"), &data.MultiSpeedMode));
   Add(new cMenuEditBoolItem(tr("Setup.Replay$Show replay mode"), &data.ShowReplayMode));
@@ -3164,6 +3171,7 @@
 
 cMenuSetupMisc::cMenuSetupMisc(void)
 {
+  SetMenuCategory(mcSetupMisc);
   SetSection(tr("Miscellaneous"));
   Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Min. event timeout (min)"),   &data.MinEventTimeout));
   Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Min. user inactivity (min)"), &data.MinUserInactivity));
@@ -3203,6 +3211,7 @@
 
 cMenuSetupPlugins::cMenuSetupPlugins(void)
 {
+  SetMenuCategory(mcSetupPlugins);
   SetSection(tr("Plugins"));
   SetHasHotkeys();
   for (int i = 0; ; i++) {
diff -ruN vdr-1.7.33/menuitems.c vdr-1.7.34/menuitems.c
--- vdr-1.7.33/menuitems.c	2012-04-08 13:20:37.000000000 +0200
+++ vdr-1.7.34/menuitems.c	2012-12-23 14:44:05.000000000 +0100
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: menuitems.c 2.14 2012/04/08 11:20:37 kls Exp $
+ * $Id: menuitems.c 2.15 2012/12/23 13:44:05 kls Exp $
  */
 
 #include "menuitems.h"
@@ -1152,6 +1152,7 @@
 
 void cMenuSetupPage::SetPlugin(cPlugin *Plugin)
 {
+  SetMenuCategory(mcPluginSetup);
   plugin = Plugin;
   SetSection(cString::sprintf("%s '%s'", tr("Plugin"), plugin->Name()));
 }
diff -ruN vdr-1.7.33/newplugin vdr-1.7.34/newplugin
--- vdr-1.7.33/newplugin	2012-03-11 16:34:26.000000000 +0100
+++ vdr-1.7.34/newplugin	2012-12-23 11:05:22.000000000 +0100
@@ -12,7 +12,7 @@
 # See the main source file 'vdr.c' for copyright information and
 # how to reach the author.
 #
-# $Id: newplugin 2.8 2012/03/11 15:34:26 kls Exp $
+# $Id: newplugin 2.14 2012/12/23 10:05:22 kls Exp $
 
 $PLUGIN_NAME = $ARGV[0] || die "Usage: newplugin <name>\n";
 
@@ -65,48 +65,45 @@
 # The official name of this plugin.
 # This name will be used in the '-P...' option of VDR to load the plugin.
 # By default the main source file also carries this name.
-# IMPORTANT: the presence of this macro is important for the Make.config
-# file. So it must be defined, even if it is not used here!
-#
+
 PLUGIN = $PLUGIN_NAME
 
 ### The version number of this plugin (taken from the main source file):
 
 VERSION = \$(shell grep 'static const char \\*VERSION *=' \$(PLUGIN).c | awk '{ print \$\$6 }' | sed -e 's/[";]//g')
 
-### The C++ compiler and options:
-
-CXX      ?= g++
-CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
-
 ### The directory environment:
 
-VDRDIR ?= ../../..
-LIBDIR ?= ../../lib
+# Use package data if installed...otherwise assume we're under the VDR source directory:
+PKGCFG = \$(if \$(VDRDIR),\$(shell pkg-config --variable=\$(1) \$(VDRDIR)/vdr.pc),\$(shell pkg-config --variable=\$(1) vdr || pkg-config --variable=\$(1) ../../../vdr.pc))
+LIBDIR = \$(DESTDIR)\$(call PKGCFG,libdir)
+LOCDIR = \$(DESTDIR)\$(call PKGCFG,locdir)
+#
 TMPDIR ?= /tmp
 
-### Make sure that necessary options are included:
-
-include \$(VDRDIR)/Make.global
-
-### Allow user defined options to overwrite defaults:
+### The compiler options:
 
--include \$(VDRDIR)/Make.config
+export CFLAGS   = \$(call PKGCFG,cflags)
+export CXXFLAGS = \$(call PKGCFG,cxxflags)
 
-### The version number of VDR's plugin API (taken from VDR's "config.h"):
+### The version number of VDR's plugin API:
 
-APIVERSION = \$(shell sed -ne '/define APIVERSION/s/^.*"\\(.*\\)".*\$\$/\\1/p' \$(VDRDIR)/config.h)
+APIVERSION = \$(call PKGCFG,apiversion)
 
 ### The name of the distribution archive:
 
 ARCHIVE = \$(PLUGIN)-\$(VERSION)
 PACKAGE = vdr-\$(ARCHIVE)
 
+### The name of the shared object file:
+
+SOFILE = libvdr-\$(PLUGIN).so
+
 ### Includes and Defines (add further entries here):
 
-INCLUDES += -I\$(VDRDIR)/include
+INCLUDES +=
 
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"\$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"\$(PLUGIN)"'
 
 ### The object files (add further files here):
 
@@ -114,7 +111,7 @@
 
 ### The main target:
 
-all: libvdr-\$(PLUGIN).so i18n
+all: \$(SOFILE) i18n
 
 ### Implicit rules:
 
@@ -133,33 +130,38 @@
 ### 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))))))
+I18Nmo    = \$(addsuffix .mo, \$(foreach file, \$(I18Npo), \$(basename \$(file))))
+I18Nmsgs  = \$(addprefix \$(LOCDIR)/, \$(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 --package-name=vdr-\$(PLUGIN) --package-version=\$(VERSION) --msgid-bugs-address='<see README>' -o \$\@ \$^
+	xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-\$(PLUGIN) --package-version=\$(VERSION) --msgid-bugs-address='<see README>' -o \$\@ `ls \$^`
 
 %.po: \$(I18Npot)
-	msgmerge -U --no-wrap --no-location --backup=none -q \$\@ \$<
+	msgmerge -U --no-wrap --no-location --backup=none -q -N \$\@ \$<
 	\@touch \$\@
 
-\$(I18Nmsgs): \$(LOCALEDIR)/%/LC_MESSAGES/vdr-\$(PLUGIN).mo: \$(PODIR)/%.mo
-	\@mkdir -p \$(dir \$@)
-	cp \$< \$\@
+\$(I18Nmsgs): \$(LOCDIR)/%/LC_MESSAGES/vdr-\$(PLUGIN).mo: \$(PODIR)/%.mo
+	install -D -m644 \$< \$\@
 
 .PHONY: i18n
-i18n: \$(I18Nmsgs) \$(I18Npot)
+i18n: \$(I18Nmo) \$(I18Npot)
+
+install-i18n: \$(I18Nmsgs)
 
 ### Targets:
 
-libvdr-\$(PLUGIN).so: \$(OBJS)
+\$(SOFILE): \$(OBJS)
 	\$(CXX) \$(CXXFLAGS) \$(LDFLAGS) -shared \$(OBJS) -o \$\@
-	\@cp --remove-destination \$\@ \$(LIBDIR)/\$\@.\$(APIVERSION)
+
+install-lib: \$(SOFILE)
+	install -D \$^ \$(LIBDIR)/\$^.\$(APIVERSION)
+
+install: install-lib install-i18n
 
 dist: \$(I18Npo) clean
 	\@-rm -rf \$(TMPDIR)/\$(ARCHIVE)
@@ -170,7 +172,8 @@
 	\@echo Distribution package created as \$(PACKAGE).tgz
 
 clean:
-	\@-rm -f \$(OBJS) \$(DEPFILE) *.so *.tgz core* *~ \$(PODIR)/*.mo \$(PODIR)/*.pot
+	\@-rm -f \$(PODIR)/*.mo \$(PODIR)/*.pot
+	\@-rm -f \$(OBJS) \$(DEPFILE) *.so *.tgz core* *~
 };
 
 $MAIN = qq
@@ -349,4 +352,3 @@
   print FILE $Content;
   close(FILE);
 }
-
diff -ruN vdr-1.7.33/osd.c vdr-1.7.34/osd.c
--- vdr-1.7.33/osd.c	2012-06-09 16:37:24.000000000 +0200
+++ vdr-1.7.34/osd.c	2012-12-15 12:16:41.000000000 +0100
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: osd.c 2.32 2012/06/09 14:37:24 kls Exp $
+ * $Id: osd.c 2.33 2012/12/15 11:16:41 kls Exp $
  */
 
 #include "osd.h"
@@ -1683,9 +1683,7 @@
 
 cBitmap *cOsd::GetBitmap(int Area)
 {
-  if (isTrueColor)
-     Area = 0; // returns the dummy bitmap
-  return Area < numBitmaps ? bitmaps[Area] : NULL;
+  return Area < numBitmaps ? (isTrueColor ? bitmaps[0] : bitmaps[Area]) : NULL;
 }
 
 cPixmap *cOsd::CreatePixmap(int Layer, const cRect &ViewPort, const cRect &DrawPort)
diff -ruN vdr-1.7.33/po/ar.po vdr-1.7.34/po/ar.po
--- vdr-1.7.33/po/ar.po	2012-12-08 12:05:15.000000000 +0100
+++ vdr-1.7.34/po/ar.po	2012-12-23 10:51:23.000000000 +0100
@@ -1418,6 +1418,3 @@
 
 msgid "free"
 msgstr "مساحة حرة"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "حدث خطاء عند محاولة الوصول لتسجيلات"
diff -ruN vdr-1.7.33/po/ca_ES.po vdr-1.7.34/po/ca_ES.po
--- vdr-1.7.33/po/ca_ES.po	2012-12-08 12:05:14.000000000 +0100
+++ vdr-1.7.34/po/ca_ES.po	2012-12-23 10:51:37.000000000 +0100
@@ -1392,6 +1392,3 @@
 
 msgid "free"
 msgstr "lliure"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Error a l'accedir a la gravaci�!"
diff -ruN vdr-1.7.33/po/cs_CZ.po vdr-1.7.34/po/cs_CZ.po
--- vdr-1.7.33/po/cs_CZ.po	2012-12-08 12:05:14.000000000 +0100
+++ vdr-1.7.34/po/cs_CZ.po	2012-12-23 10:52:01.000000000 +0100
@@ -1391,6 +1391,3 @@
 
 msgid "free"
 msgstr "volno"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Chyba při přístupu k nahrávkám!"
diff -ruN vdr-1.7.33/po/da_DK.po vdr-1.7.34/po/da_DK.po
--- vdr-1.7.33/po/da_DK.po	2012-12-08 12:05:14.000000000 +0100
+++ vdr-1.7.34/po/da_DK.po	2012-12-23 10:52:02.000000000 +0100
@@ -1389,6 +1389,3 @@
 
 msgid "free"
 msgstr "fri"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Fejl ved l�sning af optagelse!"
diff -ruN vdr-1.7.33/po/de_DE.po vdr-1.7.34/po/de_DE.po
--- vdr-1.7.33/po/de_DE.po	2012-12-08 12:05:15.000000000 +0100
+++ vdr-1.7.34/po/de_DE.po	2012-12-23 10:52:02.000000000 +0100
@@ -1389,6 +1389,3 @@
 
 msgid "free"
 msgstr "frei"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Fehler beim Ansprechen der Aufzeichnung!"
diff -ruN vdr-1.7.33/po/el_GR.po vdr-1.7.34/po/el_GR.po
--- vdr-1.7.33/po/el_GR.po	2012-12-08 12:05:14.000000000 +0100
+++ vdr-1.7.34/po/el_GR.po	2012-12-23 10:52:05.000000000 +0100
@@ -1389,6 +1389,3 @@
 
 msgid "free"
 msgstr "���������"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "�������� ���� ���������� ��������!"
diff -ruN vdr-1.7.33/po/es_ES.po vdr-1.7.34/po/es_ES.po
--- vdr-1.7.33/po/es_ES.po	2012-12-08 12:05:14.000000000 +0100
+++ vdr-1.7.34/po/es_ES.po	2012-12-23 10:52:05.000000000 +0100
@@ -1390,6 +1390,3 @@
 
 msgid "free"
 msgstr "libre"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "�Error al acceder a la grabaci�n!"
diff -ruN vdr-1.7.33/po/et_EE.po vdr-1.7.34/po/et_EE.po
--- vdr-1.7.33/po/et_EE.po	2012-12-08 12:05:14.000000000 +0100
+++ vdr-1.7.34/po/et_EE.po	2012-12-23 10:52:07.000000000 +0100
@@ -23,7 +23,7 @@
 msgstr "Kanal ei ole kättesaadav!"
 
 msgid "Can't start Transfer Mode!"
-msgstr "Siirderežiimi start nurjus!"
+msgstr "Siirderežiimi start ebaõnnestus!"
 
 msgid "off"
 msgstr "väljas"
@@ -411,7 +411,7 @@
 msgstr "Info"
 
 msgid "Key$Play/Pause"
-msgstr ""
+msgstr "Start/Paus"
 
 msgid "Key$Play"
 msgstr "Start"
@@ -748,7 +748,7 @@
 msgstr "Salvestust on muudetud - kas kustutada?"
 
 msgid "Error while deleting recording!"
-msgstr "Salvestuse kustutamine nurjus!"
+msgstr "Salvestuse kustutamine ebaõnnestus!"
 
 msgid "Recording commands"
 msgstr "Salvestuse käsud"
@@ -850,16 +850,16 @@
 msgstr "Teksti sisestamine numbriklahvidega"
 
 msgid "Setup.OSD$Color key 0"
-msgstr ""
+msgstr "Värviklahv 0"
 
 msgid "Setup.OSD$Color key 1"
-msgstr ""
+msgstr "Värviklahv 1"
 
 msgid "Setup.OSD$Color key 2"
-msgstr ""
+msgstr "Värviklahv 2"
 
 msgid "Setup.OSD$Color key 3"
-msgstr ""
+msgstr "Värviklahv 3"
 
 msgid "EPG"
 msgstr "EPG"
@@ -930,7 +930,7 @@
 msgstr "Esmane DVB seade"
 
 msgid "Setup.DVB$Standard compliance"
-msgstr ""
+msgstr "Standardivastavavus"
 
 msgid "Setup.DVB$Video format"
 msgstr "TV külgsuhe"
@@ -1018,7 +1018,7 @@
 msgstr "CAM on kasutuses - taaskäivitada?"
 
 msgid "Can't reset CAM!"
-msgstr "CAM mooduli taaskäivitus nurjus!"
+msgstr "CAM mooduli taaskäivitus ebaõnnestus!"
 
 msgid "do not pause live video"
 msgstr "mitte peatada"
@@ -1078,16 +1078,16 @@
 msgstr "Kiirsalvestuse kestus (min)"
 
 msgid "Setup.Recording$present event"
-msgstr ""
+msgstr "hetkesündmus"
 
 msgid "Setup.Recording$Max. video file size (MB)"
 msgstr "Maks. failisuurus (MB)"
 
 msgid "Setup.Recording$Split edited files"
-msgstr "Failide jupitamine"
+msgstr "Redigeeritud failide tükeldamine"
 
 msgid "Setup.Recording$Delete timeshift recording"
-msgstr "Kustutada ajanihke salvestus"
+msgstr "Ajanihke salvestuse kustutamine"
 
 msgid "Replay"
 msgstr "Taasesitus"
@@ -1102,10 +1102,10 @@
 msgstr "Järelejäänud aja kuvamine"
 
 msgid "Setup.Replay$Progress display time (s)"
-msgstr ""
+msgstr "Edenemiseriba kuvamise aeg (s)"
 
 msgid "Setup.Replay$Pause replay when setting mark"
-msgstr ""
+msgstr "Taasesituse peatamine markeri seadmisel"
 
 msgid "Setup.Replay$Resume ID"
 msgstr "Jätkamise ID"
@@ -1141,7 +1141,7 @@
 msgstr "Kanalite ringkerimine"
 
 msgid "Setup.Miscellaneous$Show channel names with source"
-msgstr ""
+msgstr "Kanalinimed allikaga"
 
 msgid "Setup.Miscellaneous$Emergency exit"
 msgstr "Hädaväljumine"
@@ -1220,10 +1220,10 @@
 msgstr "Redigeerimise markerid puuduvad!"
 
 msgid "No editing sequences defined!"
-msgstr ""
+msgstr "Redigeerimise järjestus puudub!"
 
 msgid "Can't start editing process!"
-msgstr "Redigeerimise start nurjus!"
+msgstr "Redigeerimise start ebaõnnestus!"
 
 msgid "Editing process started"
 msgstr "Redigeerimine käivitatud"
@@ -1265,10 +1265,10 @@
 msgstr "Indeksfaili regenereerimine lõpetatud"
 
 msgid "Index file regeneration failed!"
-msgstr ""
+msgstr "Indeksfaili regenereerimine ebaõnnestus!"
 
 msgid "Can't shutdown - option '-s' not given!"
-msgstr "Väljalülitamine nurjus - '-s' parameeter puudub!"
+msgstr "Väljalülitamine ebaõnnestus - '-s' parameeter puudub!"
 
 msgid "Editing - shut down anyway?"
 msgstr "Redigeerimine aktiive - lülitada välja?"
@@ -1304,22 +1304,22 @@
 msgstr "Classic VDR"
 
 msgid "DISK"
-msgstr ""
+msgstr "KETAS"
 
 msgid "LOAD"
-msgstr ""
+msgstr "KOORMUS"
 
 msgid "TIMERS"
-msgstr ""
+msgstr "TAIMERID"
 
 msgid "DEVICES"
-msgstr ""
+msgstr "SEADMED"
 
 msgid "LIVE"
-msgstr ""
+msgstr "LIVE"
 
 msgid "PLAY"
-msgstr ""
+msgstr "ESITUS"
 
 msgid "ST:TNG Panels"
 msgstr "ST:TNG Panels"
@@ -1372,7 +1372,7 @@
 msgstr "Esmase DVB seadme ümberlülitus..."
 
 msgid "Editing process failed!"
-msgstr "Redigeerimine nurjus"
+msgstr "Redigeerimine ebaõnnestus!"
 
 msgid "Editing process finished"
 msgstr "Redigeerimine lõpetatud"
@@ -1389,6 +1389,3 @@
 
 msgid "free"
 msgstr "vaba"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Salvestuse taasesitus nurjus!"
diff -ruN vdr-1.7.33/po/fi_FI.po vdr-1.7.34/po/fi_FI.po
--- vdr-1.7.33/po/fi_FI.po	2012-12-08 12:05:14.000000000 +0100
+++ vdr-1.7.34/po/fi_FI.po	2012-12-23 10:52:07.000000000 +0100
@@ -1392,6 +1392,3 @@
 
 msgid "free"
 msgstr "vapaana"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Tallenteen toistaminen epäonnistui!"
diff -ruN vdr-1.7.33/po/fr_FR.po vdr-1.7.34/po/fr_FR.po
--- vdr-1.7.33/po/fr_FR.po	2012-12-08 12:05:14.000000000 +0100
+++ vdr-1.7.34/po/fr_FR.po	2012-12-23 10:52:08.000000000 +0100
@@ -1395,6 +1395,3 @@
 
 msgid "free"
 msgstr "restant"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Impossible d'acc�der � l'enregistrement"
diff -ruN vdr-1.7.33/po/hr_HR.po vdr-1.7.34/po/hr_HR.po
--- vdr-1.7.33/po/hr_HR.po	2012-12-08 12:05:15.000000000 +0100
+++ vdr-1.7.34/po/hr_HR.po	2012-12-23 10:52:08.000000000 +0100
@@ -1391,6 +1391,3 @@
 
 msgid "free"
 msgstr "slobodno"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Gre�ka pri pristupanju snimke!"
diff -ruN vdr-1.7.33/po/hu_HU.po vdr-1.7.34/po/hu_HU.po
--- vdr-1.7.33/po/hu_HU.po	2012-12-08 12:05:14.000000000 +0100
+++ vdr-1.7.34/po/hu_HU.po	2012-12-23 10:52:09.000000000 +0100
@@ -1393,6 +1393,3 @@
 
 msgid "free"
 msgstr "szabad"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Hiba a felv�tel hozz�f�r�s�n�l"
diff -ruN vdr-1.7.33/po/it_IT.po vdr-1.7.34/po/it_IT.po
--- vdr-1.7.33/po/it_IT.po	2012-12-08 12:05:14.000000000 +0100
+++ vdr-1.7.34/po/it_IT.po	2012-12-23 10:52:09.000000000 +0100
@@ -12,7 +12,7 @@
 "Project-Id-Version: VDR 1.6.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
 "POT-Creation-Date: 2012-12-07 14:59+0100\n"
-"PO-Revision-Date: 2012-06-06 22:50+0100\n"
+"PO-Revision-Date: 2012-12-22 19:00+0100\n"
 "Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
 "Language-Team: Italian <vdr@linuxtv.org>\n"
 "Language: it\n"
@@ -418,7 +418,7 @@
 msgstr "Info"
 
 msgid "Key$Play/Pause"
-msgstr ""
+msgstr "Riproduci/Pausa"
 
 msgid "Key$Play"
 msgstr "Riproduci"
@@ -857,16 +857,16 @@
 msgstr "Tasti numerici per i caratteri"
 
 msgid "Setup.OSD$Color key 0"
-msgstr ""
+msgstr "Tasto colore 0"
 
 msgid "Setup.OSD$Color key 1"
-msgstr ""
+msgstr "Tasto colore 1"
 
 msgid "Setup.OSD$Color key 2"
-msgstr ""
+msgstr "Tasto colore 2"
 
 msgid "Setup.OSD$Color key 3"
-msgstr ""
+msgstr "Tasto colore 3"
 
 msgid "EPG"
 msgstr "Guida programmi EPG"
@@ -1085,7 +1085,7 @@
 msgstr "Durata reg. immediata (min)"
 
 msgid "Setup.Recording$present event"
-msgstr ""
+msgstr "evento attuale"
 
 msgid "Setup.Recording$Max. video file size (MB)"
 msgstr "Dim. massima file video (MB)"
@@ -1109,10 +1109,10 @@
 msgstr "Mostra tempo rimanente"
 
 msgid "Setup.Replay$Progress display time (s)"
-msgstr ""
+msgstr "Mostra tempo elaborazione (s)"
 
 msgid "Setup.Replay$Pause replay when setting mark"
-msgstr ""
+msgstr "Pausa riproduzione durante impostazione segni"
 
 msgid "Setup.Replay$Resume ID"
 msgstr "ID di ripristino"
@@ -1148,7 +1148,7 @@
 msgstr "Riavvolgimento canali"
 
 msgid "Setup.Miscellaneous$Show channel names with source"
-msgstr ""
+msgstr "Mostra nomi canali con la sorgente"
 
 msgid "Setup.Miscellaneous$Emergency exit"
 msgstr "Uscita di emergenza"
@@ -1227,7 +1227,7 @@
 msgstr "Nessun marcatore di modifica definito!"
 
 msgid "No editing sequences defined!"
-msgstr ""
+msgstr "Nessuna sequenza di modifica definita!"
 
 msgid "Can't start editing process!"
 msgstr "Impossibile avviare il processo di modifica!"
@@ -1272,7 +1272,7 @@
 msgstr "Rigenerazione file indice completata"
 
 msgid "Index file regeneration failed!"
-msgstr ""
+msgstr "Rigenerazione file indice fallita!"
 
 msgid "Can't shutdown - option '-s' not given!"
 msgstr "Impossibile spegnere - parametro '-s' non assegnato!"
@@ -1396,6 +1396,3 @@
 
 msgid "free"
 msgstr "disponibili"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Errore accesso alla registrazione!"
diff -ruN vdr-1.7.33/po/lt_LT.po vdr-1.7.34/po/lt_LT.po
--- vdr-1.7.33/po/lt_LT.po	2012-12-08 12:05:14.000000000 +0100
+++ vdr-1.7.34/po/lt_LT.po	2012-12-23 10:52:10.000000000 +0100
@@ -1389,6 +1389,3 @@
 
 msgid "free"
 msgstr "laisva"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Klaida atidarant įrašą!"
diff -ruN vdr-1.7.33/po/mk_MK.po vdr-1.7.34/po/mk_MK.po
--- vdr-1.7.33/po/mk_MK.po	2012-12-08 12:05:14.000000000 +0100
+++ vdr-1.7.34/po/mk_MK.po	2012-12-23 10:52:10.000000000 +0100
@@ -1390,6 +1390,3 @@
 
 msgid "free"
 msgstr "слободен"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Грешка при пристап до снимката!"
diff -ruN vdr-1.7.33/po/nl_NL.po vdr-1.7.34/po/nl_NL.po
--- vdr-1.7.33/po/nl_NL.po	2012-12-08 12:05:14.000000000 +0100
+++ vdr-1.7.34/po/nl_NL.po	2012-12-23 10:52:10.000000000 +0100
@@ -1393,6 +1393,3 @@
 
 msgid "free"
 msgstr "vrij"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Fout bij lezen opname!"
diff -ruN vdr-1.7.33/po/nn_NO.po vdr-1.7.34/po/nn_NO.po
--- vdr-1.7.33/po/nn_NO.po	2012-12-08 12:05:15.000000000 +0100
+++ vdr-1.7.34/po/nn_NO.po	2012-12-23 10:52:10.000000000 +0100
@@ -1390,6 +1390,3 @@
 
 msgid "free"
 msgstr "ledig"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Feil under lesing av opptak!"
diff -ruN vdr-1.7.33/po/pl_PL.po vdr-1.7.34/po/pl_PL.po
--- vdr-1.7.33/po/pl_PL.po	2012-12-08 12:05:14.000000000 +0100
+++ vdr-1.7.34/po/pl_PL.po	2012-12-23 10:52:11.000000000 +0100
@@ -1390,6 +1390,3 @@
 
 msgid "free"
 msgstr "wolnego"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Bl�d podczas dost�pu do nagrania!"
diff -ruN vdr-1.7.33/po/pt_PT.po vdr-1.7.34/po/pt_PT.po
--- vdr-1.7.33/po/pt_PT.po	2012-12-08 12:05:14.000000000 +0100
+++ vdr-1.7.34/po/pt_PT.po	2012-12-23 10:52:11.000000000 +0100
@@ -1390,6 +1390,3 @@
 
 msgid "free"
 msgstr "livre"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Erro a aceder �s grava��es!"
diff -ruN vdr-1.7.33/po/ro_RO.po vdr-1.7.34/po/ro_RO.po
--- vdr-1.7.33/po/ro_RO.po	2012-12-08 12:05:14.000000000 +0100
+++ vdr-1.7.34/po/ro_RO.po	2012-12-23 10:52:11.000000000 +0100
@@ -1392,6 +1392,3 @@
 
 msgid "free"
 msgstr "liber"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Eroare la accesarea înregistrării"
diff -ruN vdr-1.7.33/po/ru_RU.po vdr-1.7.34/po/ru_RU.po
--- vdr-1.7.33/po/ru_RU.po	2012-12-08 12:05:15.000000000 +0100
+++ vdr-1.7.34/po/ru_RU.po	2012-12-23 10:52:11.000000000 +0100
@@ -1390,6 +1390,3 @@
 
 msgid "free"
 msgstr "��������"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "������ ������� � ������!"
diff -ruN vdr-1.7.33/po/sk_SK.po vdr-1.7.34/po/sk_SK.po
--- vdr-1.7.33/po/sk_SK.po	2012-12-08 12:05:15.000000000 +0100
+++ vdr-1.7.34/po/sk_SK.po	2012-12-23 10:52:12.000000000 +0100
@@ -1389,6 +1389,3 @@
 
 msgid "free"
 msgstr "volne"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Chyba pri pr�stupe k nahr�vkam!"
diff -ruN vdr-1.7.33/po/sl_SI.po vdr-1.7.34/po/sl_SI.po
--- vdr-1.7.33/po/sl_SI.po	2012-12-08 12:05:15.000000000 +0100
+++ vdr-1.7.34/po/sl_SI.po	2012-12-23 10:52:12.000000000 +0100
@@ -1390,6 +1390,3 @@
 
 msgid "free"
 msgstr "prosto"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Napaka pri dostopu do posnetka!"
diff -ruN vdr-1.7.33/po/sr_SR.po vdr-1.7.34/po/sr_SR.po
--- vdr-1.7.33/po/sr_SR.po	2012-12-08 12:05:14.000000000 +0100
+++ vdr-1.7.34/po/sr_SR.po	2012-12-23 10:52:12.000000000 +0100
@@ -1416,6 +1416,3 @@
 
 msgid "free"
 msgstr "slobodno"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Gre�ka prilikom pristupa snimanju!"
diff -ruN vdr-1.7.33/po/sv_SE.po vdr-1.7.34/po/sv_SE.po
--- vdr-1.7.33/po/sv_SE.po	2012-12-08 12:05:14.000000000 +0100
+++ vdr-1.7.34/po/sv_SE.po	2012-12-23 10:52:12.000000000 +0100
@@ -1392,6 +1392,3 @@
 
 msgid "free"
 msgstr "ledigt"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Inspelningen g�r inte att l�sa!"
diff -ruN vdr-1.7.33/po/tr_TR.po vdr-1.7.34/po/tr_TR.po
--- vdr-1.7.33/po/tr_TR.po	2012-12-08 12:05:15.000000000 +0100
+++ vdr-1.7.34/po/tr_TR.po	2012-12-23 10:52:13.000000000 +0100
@@ -1389,6 +1389,3 @@
 
 msgid "free"
 msgstr "bo�"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Kay�t okuma hatas�!"
diff -ruN vdr-1.7.33/po/uk_UA.po vdr-1.7.34/po/uk_UA.po
--- vdr-1.7.33/po/uk_UA.po	2012-12-08 12:05:14.000000000 +0100
+++ vdr-1.7.34/po/uk_UA.po	2012-12-23 10:52:13.000000000 +0100
@@ -1389,6 +1389,3 @@
 
 msgid "free"
 msgstr "вільно"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "Помилка доступу до запису!"
diff -ruN vdr-1.7.33/po/zh_CN.po vdr-1.7.34/po/zh_CN.po
--- vdr-1.7.33/po/zh_CN.po	2012-12-08 12:05:14.000000000 +0100
+++ vdr-1.7.34/po/zh_CN.po	2012-12-23 10:52:18.000000000 +0100
@@ -1392,6 +1392,3 @@
 
 msgid "free"
 msgstr "可录像时间"
-
-#~ msgid "Error while accessing recording!"
-#~ msgstr "存取录像错误！"
diff -ruN vdr-1.7.33/recording.c vdr-1.7.34/recording.c
--- vdr-1.7.33/recording.c	2012-12-06 10:35:13.000000000 +0100
+++ vdr-1.7.34/recording.c	2012-12-23 16:11:28.000000000 +0100
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: recording.c 2.78 2012/12/06 09:35:13 kls Exp $
+ * $Id: recording.c 2.81 2012/12/23 15:11:28 kls Exp $
  */
 
 #include "recording.h"
@@ -1666,7 +1666,8 @@
 #define INDEXFILESUFFIX     "/index"
 
 // The maximum time to wait before giving up while catching up on an index file:
-#define MAXINDEXCATCHUP   8 // seconds
+#define MAXINDEXCATCHUP    8 // number of retries
+#define INDEXCATCHUPWAIT 100 // milliseconds
 
 struct tIndexPes {
   uint32_t offset;
@@ -1693,9 +1694,6 @@
 #define INDEXFILECHECKINTERVAL 500 // ms between checks for existence of the regenerated index file
 #define INDEXFILETESTINTERVAL   10 // ms between tests for the size of the index file in case of pausing live video
 
-cMutex cIndexFile::indexListMutex;
-cVector<const cIndexFile *> cIndexFile::indexList;
-
 cIndexFile::cIndexFile(const char *FileName, bool Record, bool IsPesRecording, bool PauseLive)
 :resumeFile(FileName, IsPesRecording)
 {
@@ -1776,13 +1774,10 @@
            LOG_ERROR_STR(*fileName);
         }
      }
-  if (Record)
-     AddToIndexList(this);
 }
 
 cIndexFile::~cIndexFile()
 {
-  RemoveFromIndexList(this);
   if (f >= 0)
      close(f);
   free(index);
@@ -1824,14 +1819,11 @@
   // returns true unless something really goes wrong, so that 'index' becomes NULL
   if (index && f >= 0) {
      cMutexLock MutexLock(&mutex);
-     for (int i = 0; i <= MAXINDEXCATCHUP && (Index < 0 || Index > last); i++) {
+     // Note that CatchUp() is triggered even if Index is 'last' (and thus valid).
+     // This is done to make absolutely sure we don't miss any data at the very end.
+     for (int i = 0; i <= MAXINDEXCATCHUP && (Index < 0 || Index >= last); i++) {
          struct stat buf;
          if (fstat(f, &buf) == 0) {
-            if (!IsInIndexList(this)) {
-               close(f);
-               f = -1;
-               break;
-               }
             int newLast = int(buf.st_size / sizeof(tIndexTs) - 1);
             if (newLast > last) {
                int NewSize = size;
@@ -1869,9 +1861,9 @@
             }
          else
             LOG_ERROR_STR(*fileName);
-         if (Index <= last)
+         if (Index < last)
             break;
-         cCondWait::SleepMs(1000);
+         cCondWait::SleepMs(INDEXCATCHUPWAIT);
          }
      }
   return index != NULL;
@@ -1937,15 +1929,16 @@
                *FileNumber = index[Index].number;
                *FileOffset = index[Index].offset;
                if (Length) {
-                  // all recordings end with a non-independent frame, so the following should be safe:
-                  uint16_t fn = index[Index + 1].number;
-                  off_t fo = index[Index + 1].offset;
-                  if (fn == *FileNumber)
-                     *Length = int(fo - *FileOffset);
-                  else {
-                     esyslog("ERROR: 'I' frame at end of file #%d", *FileNumber);
-                     *Length = -1;
+                  if (Index < last) {
+                     uint16_t fn = index[Index + 1].number;
+                     off_t fo = index[Index + 1].offset;
+                     if (fn == *FileNumber)
+                        *Length = int(fo - *FileOffset);
+                     else
+                        *Length = -1; // this means "everything up to EOF" (the buffer's Read function will act accordingly)
                      }
+                  else
+                     *Length = -1;
                   }
                return Index;
                }
@@ -2025,39 +2018,6 @@
   return -1;
 }
 
-void cIndexFile::AddToIndexList(const cIndexFile *IndexFile)
-{
-  cMutexLock MutexLock(&indexListMutex);
-  for (int i = 0; i < indexList.Size(); i++) {
-      if (!indexList[i]) {
-         indexList[i] = IndexFile;
-         return;
-         }
-      }
-  indexList.Append(IndexFile);
-}
-
-void cIndexFile::RemoveFromIndexList(const cIndexFile *IndexFile)
-{
-  cMutexLock MutexLock(&indexListMutex);
-  for (int i = 0; i < indexList.Size(); i++) {
-      if (indexList[i] == IndexFile) {
-         indexList[i] = NULL;
-         return;
-         }
-      }
-}
-
-bool cIndexFile::IsInIndexList(const cIndexFile *IndexFile)
-{
-  cMutexLock MutexLock(&indexListMutex);
-  for (int i = 0; i < indexList.Size(); i++) {
-      if (indexList[i] && !strcmp(indexList[i]->fileName, IndexFile->fileName))
-         return true;
-      }
-  return false;
-}
-
 bool GenerateIndex(const char *FileName) 
 {
   if (DirectoryOk(FileName)) {
diff -ruN vdr-1.7.33/recording.h vdr-1.7.34/recording.h
--- vdr-1.7.33/recording.h	2012-11-13 12:43:59.000000000 +0100
+++ vdr-1.7.34/recording.h	2012-12-23 16:11:53.000000000 +0100
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: recording.h 2.40 2012/11/13 11:43:59 kls Exp $
+ * $Id: recording.h 2.41 2012/12/23 15:11:53 kls Exp $
  */
 
 #ifndef __RECORDING_H
@@ -292,11 +292,6 @@
   cResumeFile resumeFile;
   cIndexFileGenerator *indexFileGenerator;
   cMutex mutex;
-  static cMutex indexListMutex;
-  static cVector<const cIndexFile *> indexList;
-  static void AddToIndexList(const cIndexFile *IndexFile);
-  static void RemoveFromIndexList(const cIndexFile *IndexFile);
-  static bool IsInIndexList(const cIndexFile *IndexFile);
   void ConvertFromPes(tIndexTs *IndexTs, int Count);
   void ConvertToPes(tIndexTs *IndexTs, int Count);
   bool CatchUp(int Index = -1);
diff -ruN vdr-1.7.33/skins.h vdr-1.7.34/skins.h
--- vdr-1.7.33/skins.h	2012-12-07 18:18:44.000000000 +0100
+++ vdr-1.7.34/skins.h	2012-12-21 12:09:13.000000000 +0100
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: skins.h 2.7 2012/12/07 17:18:44 kls Exp $
+ * $Id: skins.h 2.9 2012/12/21 11:09:13 kls Exp $
  */
 
 #ifndef __SKINS_H
@@ -73,7 +73,37 @@
   */
   };
 
-enum eMenuCategory { mcUndefined = -1, mcUnknown = 0, mcMain, mcSchedule, mcChannel, mcTimer, mcRecording, mcPlugin, mcSetup, mcCommand, mcEvent, mcText, mcFolder, mcCam };
+enum eMenuCategory {
+  mcUndefined = -1,
+  mcUnknown = 0,
+  mcMain,
+  mcSchedule,
+  mcScheduleNow,
+  mcScheduleNext,
+  mcChannel,
+  mcChannelEdit,
+  mcTimer,
+  mcTimerEdit,
+  mcRecording,
+  mcRecordingInfo,
+  mcPlugin,
+  mcPluginSetup,
+  mcSetup,
+  mcSetupOsd,
+  mcSetupEpg,
+  mcSetupDvb,
+  mcSetupLnb,
+  mcSetupCam,
+  mcSetupRecord,
+  mcSetupReplay,
+  mcSetupMisc,
+  mcSetupPlugins,
+  mcCommand,
+  mcEvent,
+  mcText,
+  mcFolder,
+  mcCam
+  };
 
 class cSkinDisplayMenu : public cSkinDisplay {
        ///< This class implements the general purpose menu display, which is
@@ -153,7 +183,7 @@
        ///< this function will be first called for the old current item
        ///< with Current set to false, and then for the new current item
        ///< with Current set to true.
-  virtual bool SetItemEvent(const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, int TimerMatch) { return false; }
+  virtual bool SetItemEvent(const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, eTimerMatch TimerMatch) { return false; }
        ///< Sets the item at the given Index to Event. See SetItem() for more information.
        ///< If a derived skin class implements this function, it can display an Event item
        ///< in a more elaborate way than just a simple line of text.
