mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Version 1.7.34
VDR developer version 1.7.34 is now available at ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.34.tar.bz2 A 'diff' against the previous version is available at ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.33-1.7.34.diff and a helper patch for plugin Makefiles can be found at ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.33-pluginmakefile.diff MD5 checksums: 55d9aba62563efe39ee040e987f7023c vdr-1.7.34.tar.bz2 019ba806b263f7054dbd0da8956ea73b vdr-1.7.33-1.7.34.diff 6c2b8efe5eead6822f006bc867ccb324 vdr-1.7.33-pluginmakefile.diff WARNING: ======== This is a developer version. Even though I use it in my productive environment. I strongly recommend that you only use it under controlled conditions and for testing and debugging. IMPORTANT: ========== This version comes with revised versions of the Makefiles for VDR itself and all of its standard plugins. As a result of this, existing plugins will no longer build with this version of VDR, unless their Makefiles are properly adapted. To do so, please follow the instructions given below. There is also a generic patch (see below) that might help you update your plugin's Makefile. If you do want to build this version of VDR with plugins that don't have their Makefiles adapted yet, you can simply copy the Makefile, Make.global and Make.config (if applicable) files from a previous version of VDR into this source and use them. Note, though, that you cannot mix old and new Makefiles. All Makefiles for VDR and all plugins must be either old or new! PLEASE GIVE THE PLUGIN DEVELOPERS SOME TIME TO ADAPT THEIR MAKEFILES ACCORDINGLY. AFTER ALL, IT'S CHRISTMAS, SO THEY PROBABLY HAVE BETTER THINGS TO DO THAN SIT AT THEIR COMPUTERS ;-). From the HISTORY file: - 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.
This commit is contained in:
parent
5109addf9c
commit
15485a5e06
@ -1453,6 +1453,7 @@ Andreas Regel <andreas.regel@gmx.de>
|
||||
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 @@ Christoph Haubrich <christoph1.haubrich@arcor.de>
|
||||
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 @@ Christopher Reimer <reimer.christopher@freenet.de>
|
||||
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
|
||||
|
47
HISTORY
47
HISTORY
@ -7342,8 +7342,8 @@ Video Disk Recorder Revision History
|
||||
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 @@ Video Disk Recorder Revision History
|
||||
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.
|
||||
|
@ -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 @@ CC = gcc
|
||||
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 @@ endif
|
||||
|
||||
### 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 @@ VIDEODIR = /srv/vdr/video
|
||||
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:
|
||||
|
17
Make.global
17
Make.global
@ -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
|
79
Makefile
79
Makefile
@ -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 @@ DOXYFILE = Doxyfile
|
||||
|
||||
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 @@ OBJS = audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o d
|
||||
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 @@ endif
|
||||
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 @@ RESDIRDEF = $(firstword $(RESDIR) $(CONFDIRDEF))
|
||||
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 @@ $(DEPFILE): Makefile
|
||||
# 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 @@ $(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr.mo: $(PODIR)/%.mo
|
||||
cp $< $@
|
||||
|
||||
.PHONY: i18n
|
||||
i18n: $(I18Nmsgs)
|
||||
i18n: $(I18Nmsgs) $(I18Npot)
|
||||
|
||||
install-i18n:
|
||||
@mkdir -p $(DESTDIR)$(LOCDIR)
|
||||
@ -173,23 +182,27 @@ include-dir:
|
||||
|
||||
# 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 @@ install-doc:
|
||||
# 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 @@ srcdoc:
|
||||
# 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
|
||||
|
@ -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:
|
||||
### The compiler options:
|
||||
|
||||
include $(VDRDIR)/Make.global
|
||||
export CFLAGS = $(call PKGCFG,cflags)
|
||||
export CXXFLAGS = $(call PKGCFG,cxxflags)
|
||||
|
||||
### Allow user defined options to overwrite defaults:
|
||||
### The version number of VDR's plugin API:
|
||||
|
||||
-include $(VDRDIR)/Make.config
|
||||
|
||||
### 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 @@ OBJS = $(PLUGIN).o dvbhdffdevice.o hdffcmd.o hdffosd.o menu.o setup.o
|
||||
|
||||
### The main target:
|
||||
|
||||
all: libvdr-$(PLUGIN).so i18n
|
||||
all: $(SOFILE) i18n
|
||||
|
||||
### Implicit rules:
|
||||
|
||||
@ -74,34 +71,39 @@ $(DEPFILE): Makefile
|
||||
### 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 @@ dist: $(I18Npo) clean
|
||||
@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
|
||||
|
@ -24,29 +24,17 @@ CFLAGS ?= -g -O2 -fPIC -Wall
|
||||
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 @@ $(LIB_SHARED): $(LIB_OBJS)
|
||||
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)
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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:
|
||||
### The compiler options:
|
||||
|
||||
include $(VDRDIR)/Make.global
|
||||
export CFLAGS = $(call PKGCFG,cflags)
|
||||
export CXXFLAGS = $(call PKGCFG,cxxflags)
|
||||
|
||||
### Allow user defined options to overwrite defaults:
|
||||
### The version number of VDR's plugin API:
|
||||
|
||||
-include $(VDRDIR)/Make.config
|
||||
|
||||
### 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 +51,7 @@ OBJS = $(PLUGIN).o dvbsdffdevice.o dvbsdffosd.o
|
||||
|
||||
### The main target:
|
||||
|
||||
all: libvdr-$(PLUGIN).so i18n
|
||||
all: $(SOFILE)
|
||||
|
||||
### Implicit rules:
|
||||
|
||||
@ -71,38 +67,17 @@ $(DEPFILE): Makefile
|
||||
|
||||
-include $(DEPFILE)
|
||||
|
||||
### Internationalization (I18N):
|
||||
|
||||
PODIR = po
|
||||
LOCALEDIR = $(VDRDIR)/locale
|
||||
I18Npo = $(wildcard $(PODIR)/*.po)
|
||||
I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
|
||||
I18Npot = $(PODIR)/$(PLUGIN).pot
|
||||
|
||||
%.mo: %.po
|
||||
msgfmt -c -o $@ $<
|
||||
|
||||
$(I18Npot): $(wildcard *.c)
|
||||
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --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 @@ dist: $(I18Npo) clean
|
||||
@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* *~
|
||||
|
@ -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:
|
||||
### The compiler options:
|
||||
|
||||
include $(VDRDIR)/Make.global
|
||||
export CFLAGS = $(call PKGCFG,cflags)
|
||||
export CXXFLAGS = $(call PKGCFG,cxxflags)
|
||||
|
||||
### Allow user defined options to overwrite defaults:
|
||||
### The version number of VDR's plugin API:
|
||||
|
||||
-include $(VDRDIR)/Make.config
|
||||
|
||||
### 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 +51,7 @@ OBJS = $(PLUGIN).o
|
||||
|
||||
### The main target:
|
||||
|
||||
all: libvdr-$(PLUGIN).so i18n
|
||||
all: $(SOFILE)
|
||||
|
||||
### Implicit rules:
|
||||
|
||||
@ -71,38 +67,17 @@ $(DEPFILE): Makefile
|
||||
|
||||
-include $(DEPFILE)
|
||||
|
||||
### Internationalization (I18N):
|
||||
|
||||
PODIR = po
|
||||
LOCALEDIR = $(VDRDIR)/locale
|
||||
I18Npo = $(wildcard $(PODIR)/*.po)
|
||||
I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
|
||||
I18Npot = $(PODIR)/$(PLUGIN).pot
|
||||
|
||||
%.mo: %.po
|
||||
msgfmt -c -o $@ $<
|
||||
|
||||
$(I18Npot): $(wildcard *.c)
|
||||
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --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 @@ dist: $(I18Npo) clean
|
||||
@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* *~
|
||||
|
@ -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:
|
||||
### The compiler options:
|
||||
|
||||
include $(VDRDIR)/Make.global
|
||||
export CFLAGS = $(call PKGCFG,cflags)
|
||||
export CXXFLAGS = $(call PKGCFG,cxxflags)
|
||||
|
||||
### Allow user defined options to overwrite defaults:
|
||||
### The version number of VDR's plugin API:
|
||||
|
||||
-include $(VDRDIR)/Make.config
|
||||
|
||||
### 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 @@ OBJS = $(PLUGIN).o
|
||||
|
||||
### The main target:
|
||||
|
||||
all: libvdr-$(PLUGIN).so i18n
|
||||
all: $(SOFILE) i18n
|
||||
|
||||
### Implicit rules:
|
||||
|
||||
@ -74,33 +71,38 @@ $(DEPFILE): Makefile
|
||||
### 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)
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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:
|
||||
### The compiler options:
|
||||
|
||||
include $(VDRDIR)/Make.global
|
||||
export CFLAGS = $(call PKGCFG,cflags)
|
||||
export CXXFLAGS = $(call PKGCFG,cxxflags)
|
||||
|
||||
### Allow user defined options to overwrite defaults:
|
||||
### The version number of VDR's plugin API:
|
||||
|
||||
-include $(VDRDIR)/Make.config
|
||||
|
||||
### 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 @@ OBJS = $(PLUGIN).o
|
||||
|
||||
### 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 @@ $(DEPFILE): Makefile
|
||||
|
||||
### 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)
|
||||
|
@ -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:
|
||||
### The compiler options:
|
||||
|
||||
include $(VDRDIR)/Make.global
|
||||
export CFLAGS = $(call PKGCFG,cflags)
|
||||
export CXXFLAGS = $(call PKGCFG,cxxflags)
|
||||
|
||||
### Allow user defined options to overwrite defaults:
|
||||
### The version number of VDR's plugin API:
|
||||
|
||||
-include $(VDRDIR)/Make.config
|
||||
|
||||
### 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 @@ OBJS = $(PLUGIN).o entry.o menu.o player.o
|
||||
|
||||
### The main target:
|
||||
|
||||
all: libvdr-$(PLUGIN).so i18n
|
||||
all: $(SOFILE) i18n
|
||||
|
||||
### Implicit rules:
|
||||
|
||||
@ -74,33 +71,38 @@ $(DEPFILE): Makefile
|
||||
### 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 @@ dist: $(I18Npo) clean
|
||||
@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* *~
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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:
|
||||
### The compiler options:
|
||||
|
||||
include $(VDRDIR)/Make.global
|
||||
export CFLAGS = $(call PKGCFG,cflags)
|
||||
export CXXFLAGS = $(call PKGCFG,cxxflags)
|
||||
|
||||
### Allow user defined options to overwrite defaults:
|
||||
### The version number of VDR's plugin API:
|
||||
|
||||
-include $(VDRDIR)/Make.config
|
||||
|
||||
### 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 +51,7 @@ OBJS = $(PLUGIN).o
|
||||
|
||||
### The main target:
|
||||
|
||||
all: libvdr-$(PLUGIN).so i18n
|
||||
all: $(SOFILE)
|
||||
|
||||
### Implicit rules:
|
||||
|
||||
@ -71,38 +67,17 @@ $(DEPFILE): Makefile
|
||||
|
||||
-include $(DEPFILE)
|
||||
|
||||
### Internationalization (I18N):
|
||||
|
||||
PODIR = po
|
||||
LOCALEDIR = $(VDRDIR)/locale
|
||||
I18Npo = $(wildcard $(PODIR)/*.po)
|
||||
I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
|
||||
I18Npot = $(PODIR)/$(PLUGIN).pot
|
||||
|
||||
%.mo: %.po
|
||||
msgfmt -c -o $@ $<
|
||||
|
||||
$(I18Npot): $(wildcard *.c)
|
||||
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --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 @@ dist: $(I18Npo) clean
|
||||
@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* *~
|
||||
|
@ -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 @@ PLUGIN2 = svcsvr
|
||||
|
||||
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:
|
||||
### The compiler options:
|
||||
|
||||
include $(VDRDIR)/Make.global
|
||||
export CFLAGS = $(call PKGCFG,cflags)
|
||||
export CXXFLAGS = $(call PKGCFG,cxxflags)
|
||||
|
||||
### Allow user defined options to overwrite defaults:
|
||||
### The version number of VDR's plugin API:
|
||||
|
||||
-include $(VDRDIR)/Make.config
|
||||
|
||||
### 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 @@ PACKAGE = vdr-$(ARCHIVE)
|
||||
|
||||
### 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 @@ all: libvdr-$(PLUGIN1).so libvdr-$(PLUGIN2).so
|
||||
%.o: %.c
|
||||
$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
|
||||
|
||||
# Dependencies:
|
||||
### Dependencies:
|
||||
|
||||
MAKEDEP = $(CXX) -MM -MG
|
||||
DEPFILE = .dependencies
|
||||
@ -75,11 +68,13 @@ $(DEPFILE): Makefile
|
||||
|
||||
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)
|
||||
|
@ -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:
|
||||
### The compiler options:
|
||||
|
||||
include $(VDRDIR)/Make.global
|
||||
export CFLAGS = $(call PKGCFG,cflags)
|
||||
export CXXFLAGS = $(call PKGCFG,cxxflags)
|
||||
|
||||
### Allow user defined options to overwrite defaults:
|
||||
### The version number of VDR's plugin API:
|
||||
|
||||
-include $(VDRDIR)/Make.config
|
||||
|
||||
### 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 @@ OBJS = $(PLUGIN).o
|
||||
|
||||
### The main target:
|
||||
|
||||
all: libvdr-$(PLUGIN).so i18n
|
||||
all: $(SOFILE) i18n
|
||||
|
||||
### Implicit rules:
|
||||
|
||||
@ -74,33 +71,38 @@ $(DEPFILE): Makefile
|
||||
### 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 @@ dist: $(I18Npo) clean
|
||||
@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* *~
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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:
|
||||
### The compiler options:
|
||||
|
||||
include $(VDRDIR)/Make.global
|
||||
export CFLAGS = $(call PKGCFG,cflags)
|
||||
export CXXFLAGS = $(call PKGCFG,cxxflags)
|
||||
|
||||
### Allow user defined options to overwrite defaults:
|
||||
### The version number of VDR's plugin API:
|
||||
|
||||
-include $(VDRDIR)/Make.config
|
||||
|
||||
### 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 @@ OBJS = $(PLUGIN).o
|
||||
|
||||
### 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 @@ $(DEPFILE): Makefile
|
||||
|
||||
### 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)
|
||||
|
@ -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:
|
||||
### The compiler options:
|
||||
|
||||
include $(VDRDIR)/Make.global
|
||||
export CFLAGS = $(call PKGCFG,cflags)
|
||||
export CXXFLAGS = $(call PKGCFG,cxxflags)
|
||||
|
||||
### Allow user defined options to overwrite defaults:
|
||||
### The version number of VDR's plugin API:
|
||||
|
||||
-include $(VDRDIR)/Make.config
|
||||
|
||||
### 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 @@ OBJS = $(PLUGIN).o
|
||||
|
||||
### 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 @@ $(DEPFILE): Makefile
|
||||
|
||||
### 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)
|
||||
|
10
config.h
10
config.h
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: config.h 2.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
|
||||
|
@ -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 @@ OBJS = util.o si.o section.o descriptor.o
|
||||
%.o: %.c
|
||||
$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
|
||||
|
||||
# Dependencies:
|
||||
### Dependencies:
|
||||
|
||||
MAKEDEP = $(CXX) -MM -MG
|
||||
DEPFILE = .dependencies
|
||||
|
19
menu.c
19
menu.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: menu.c 2.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 @@ public:
|
||||
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 @@ eOSState cMenuFolder::ProcessKey(eKeys Key)
|
||||
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 @@ const cEvent *cMenuWhatsOn::scheduleEvent = NULL;
|
||||
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 @@ public:
|
||||
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 @@ public:
|
||||
|
||||
cMenuSetupOSD::cMenuSetupOSD(void)
|
||||
{
|
||||
SetMenuCategory(mcSetupOsd);
|
||||
osdLanguageIndex = I18nCurrentLanguage();
|
||||
numSkins = Skins.Count();
|
||||
skinIndex = originalSkinIndex = Skins.Current()->Index();
|
||||
@ -2683,6 +2684,7 @@ public:
|
||||
|
||||
cMenuSetupEPG::cMenuSetupEPG(void)
|
||||
{
|
||||
SetMenuCategory(mcSetupEpg);
|
||||
for (numLanguages = 0; numLanguages < I18nLanguages()->Size() && data.EPGLanguages[numLanguages] >= 0; numLanguages++)
|
||||
;
|
||||
originalNumLanguages = numLanguages;
|
||||
@ -2779,6 +2781,7 @@ public:
|
||||
|
||||
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 @@ public:
|
||||
cMenuSetupLNB::cMenuSetupLNB(void)
|
||||
:satCableNumbers(MAXDEVICES)
|
||||
{
|
||||
SetMenuCategory(mcSetupLnb);
|
||||
satCableNumbers.FromString(data.DeviceBondings);
|
||||
SetSection(tr("LNB"));
|
||||
Setup();
|
||||
@ -3025,6 +3029,7 @@ public:
|
||||
|
||||
cMenuSetupCAM::cMenuSetupCAM(void)
|
||||
{
|
||||
SetMenuCategory(mcSetupCam);
|
||||
SetSection(tr("CAM"));
|
||||
SetCols(15);
|
||||
SetHasHotkeys();
|
||||
@ -3103,6 +3108,7 @@ public:
|
||||
|
||||
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 @@ public:
|
||||
|
||||
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 @@ public:
|
||||
|
||||
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 @@ public:
|
||||
|
||||
cMenuSetupPlugins::cMenuSetupPlugins(void)
|
||||
{
|
||||
SetMenuCategory(mcSetupPlugins);
|
||||
SetSection(tr("Plugins"));
|
||||
SetHasHotkeys();
|
||||
for (int i = 0; ; i++) {
|
||||
|
@ -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 @@ eOSState cMenuSetupPage::ProcessKey(eKeys Key)
|
||||
|
||||
void cMenuSetupPage::SetPlugin(cPlugin *Plugin)
|
||||
{
|
||||
SetMenuCategory(mcPluginSetup);
|
||||
plugin = Plugin;
|
||||
SetSection(cString::sprintf("%s '%s'", tr("Plugin"), plugin->Name()));
|
||||
}
|
||||
|
70
newplugin
70
newplugin
@ -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 @@ $MAKEFILE = qq
|
||||
# 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:
|
||||
### The compiler options:
|
||||
|
||||
include \$(VDRDIR)/Make.global
|
||||
export CFLAGS = \$(call PKGCFG,cflags)
|
||||
export CXXFLAGS = \$(call PKGCFG,cxxflags)
|
||||
|
||||
### Allow user defined options to overwrite defaults:
|
||||
### The version number of VDR's plugin API:
|
||||
|
||||
-include \$(VDRDIR)/Make.config
|
||||
|
||||
### 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):
|
||||
|
||||
@ -114,7 +111,7 @@ OBJS = \$(PLUGIN).o
|
||||
|
||||
### The main target:
|
||||
|
||||
all: libvdr-\$(PLUGIN).so i18n
|
||||
all: \$(SOFILE) i18n
|
||||
|
||||
### Implicit rules:
|
||||
|
||||
@ -133,33 +130,38 @@ DEPFILE = .dependencies
|
||||
### 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 @@ dist: \$(I18Npo) clean
|
||||
\@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 @@ sub CreateFile
|
||||
print FILE $Content;
|
||||
close(FILE);
|
||||
}
|
||||
|
||||
|
6
osd.c
6
osd.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: osd.c 2.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 @@ void cOsd::SetAntiAliasGranularity(uint FixedColors, uint BlendColors)
|
||||
|
||||
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)
|
||||
|
3
po/ar.po
3
po/ar.po
@ -1418,6 +1418,3 @@ msgstr "القرص الصلب"
|
||||
|
||||
msgid "free"
|
||||
msgstr "مساحة حرة"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "حدث خطاء عند محاولة الوصول لتسجيلات"
|
||||
|
@ -1392,6 +1392,3 @@ msgstr "Disc"
|
||||
|
||||
msgid "free"
|
||||
msgstr "lliure"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Error a l'accedir a la gravació!"
|
||||
|
@ -1391,6 +1391,3 @@ msgstr "Disk"
|
||||
|
||||
msgid "free"
|
||||
msgstr "volno"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Chyba při přístupu k nahrávkám!"
|
||||
|
@ -1389,6 +1389,3 @@ msgstr "Disk"
|
||||
|
||||
msgid "free"
|
||||
msgstr "fri"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Fejl ved læsning af optagelse!"
|
||||
|
@ -1389,6 +1389,3 @@ msgstr "Disk"
|
||||
|
||||
msgid "free"
|
||||
msgstr "frei"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Fehler beim Ansprechen der Aufzeichnung!"
|
||||
|
@ -1389,6 +1389,3 @@ msgstr "
|
||||
|
||||
msgid "free"
|
||||
msgstr "Åëåýèåñïò"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Ðñüâëçìá óôÞí ðñïóðÝëáóç åããñáöÞò!"
|
||||
|
@ -1390,6 +1390,3 @@ msgstr "Disco"
|
||||
|
||||
msgid "free"
|
||||
msgstr "libre"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "¡Error al acceder a la grabación!"
|
||||
|
55
po/et_EE.po
55
po/et_EE.po
@ -23,7 +23,7 @@ msgid "Channel not available!"
|
||||
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 @@ msgid "Key$Info"
|
||||
msgstr "Info"
|
||||
|
||||
msgid "Key$Play/Pause"
|
||||
msgstr ""
|
||||
msgstr "Start/Paus"
|
||||
|
||||
msgid "Key$Play"
|
||||
msgstr "Start"
|
||||
@ -748,7 +748,7 @@ msgid "Recording is being edited - really delete?"
|
||||
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 @@ msgid "Setup.OSD$Number keys for characters"
|
||||
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 @@ msgid "Setup.DVB$Primary DVB interface"
|
||||
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 @@ msgid "CAM is in use - really reset?"
|
||||
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 @@ msgid "Setup.Recording$Instant rec. time (min)"
|
||||
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 @@ msgid "Setup.Replay$Show remaining time"
|
||||
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 @@ msgid "Setup.Miscellaneous$Channels wrap"
|
||||
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 @@ msgid "No editing marks defined!"
|
||||
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 @@ msgid "Index file regeneration complete"
|
||||
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 @@ msgid "Classic VDR"
|
||||
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 @@ msgid "Switching primary DVB..."
|
||||
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 @@ msgstr "Ketas"
|
||||
|
||||
msgid "free"
|
||||
msgstr "vaba"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Salvestuse taasesitus nurjus!"
|
||||
|
@ -1392,6 +1392,3 @@ msgstr "Levy"
|
||||
|
||||
msgid "free"
|
||||
msgstr "vapaana"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Tallenteen toistaminen epäonnistui!"
|
||||
|
@ -1395,6 +1395,3 @@ msgstr "Disque"
|
||||
|
||||
msgid "free"
|
||||
msgstr "restant"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Impossible d'accéder à l'enregistrement"
|
||||
|
@ -1391,6 +1391,3 @@ msgstr "Disk"
|
||||
|
||||
msgid "free"
|
||||
msgstr "slobodno"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Gre¹ka pri pristupanju snimke!"
|
||||
|
@ -1393,6 +1393,3 @@ msgstr "Lemez"
|
||||
|
||||
msgid "free"
|
||||
msgstr "szabad"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Hiba a felvétel hozzáférésénél"
|
||||
|
27
po/it_IT.po
27
po/it_IT.po
@ -12,7 +12,7 @@ msgstr ""
|
||||
"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 @@ msgid "Key$Info"
|
||||
msgstr "Info"
|
||||
|
||||
msgid "Key$Play/Pause"
|
||||
msgstr ""
|
||||
msgstr "Riproduci/Pausa"
|
||||
|
||||
msgid "Key$Play"
|
||||
msgstr "Riproduci"
|
||||
@ -857,16 +857,16 @@ msgid "Setup.OSD$Number keys for characters"
|
||||
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 @@ msgid "Setup.Recording$Instant rec. time (min)"
|
||||
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 @@ msgid "Setup.Replay$Show remaining time"
|
||||
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 @@ msgid "Setup.Miscellaneous$Channels wrap"
|
||||
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 @@ msgid "No editing marks defined!"
|
||||
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 @@ msgid "Index file regeneration complete"
|
||||
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 @@ msgstr "Disco"
|
||||
|
||||
msgid "free"
|
||||
msgstr "disponibili"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Errore accesso alla registrazione!"
|
||||
|
@ -1389,6 +1389,3 @@ msgstr "Diskas"
|
||||
|
||||
msgid "free"
|
||||
msgstr "laisva"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Klaida atidarant įrašą!"
|
||||
|
@ -1390,6 +1390,3 @@ msgstr "Диск"
|
||||
|
||||
msgid "free"
|
||||
msgstr "слободен"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Грешка при пристап до снимката!"
|
||||
|
@ -1393,6 +1393,3 @@ msgstr "Schijf"
|
||||
|
||||
msgid "free"
|
||||
msgstr "vrij"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Fout bij lezen opname!"
|
||||
|
@ -1390,6 +1390,3 @@ msgstr "Disk"
|
||||
|
||||
msgid "free"
|
||||
msgstr "ledig"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Feil under lesing av opptak!"
|
||||
|
@ -1390,6 +1390,3 @@ msgstr "Dysk"
|
||||
|
||||
msgid "free"
|
||||
msgstr "wolnego"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Bl±d podczas dostêpu do nagrania!"
|
||||
|
@ -1390,6 +1390,3 @@ msgstr "Disco"
|
||||
|
||||
msgid "free"
|
||||
msgstr "livre"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Erro a aceder às gravações!"
|
||||
|
@ -1392,6 +1392,3 @@ msgstr "Disc"
|
||||
|
||||
msgid "free"
|
||||
msgstr "liber"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Eroare la accesarea înregistrării"
|
||||
|
@ -1390,6 +1390,3 @@ msgstr "
|
||||
|
||||
msgid "free"
|
||||
msgstr "áÒÞÑÞÔÝÞ"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "¾èØÑÚÐ ÔÞáâãßÐ Ú ×ÐßØáØ!"
|
||||
|
@ -1389,6 +1389,3 @@ msgstr "Disk"
|
||||
|
||||
msgid "free"
|
||||
msgstr "volne"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Chyba pri prístupe k nahrávkam!"
|
||||
|
@ -1390,6 +1390,3 @@ msgstr "Disk"
|
||||
|
||||
msgid "free"
|
||||
msgstr "prosto"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Napaka pri dostopu do posnetka!"
|
||||
|
@ -1416,6 +1416,3 @@ msgstr "Disk"
|
||||
|
||||
msgid "free"
|
||||
msgstr "slobodno"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Gre¹ka prilikom pristupa snimanju!"
|
||||
|
@ -1392,6 +1392,3 @@ msgstr "Disk"
|
||||
|
||||
msgid "free"
|
||||
msgstr "ledigt"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Inspelningen går inte att läsa!"
|
||||
|
@ -1389,6 +1389,3 @@ msgstr "Disk"
|
||||
|
||||
msgid "free"
|
||||
msgstr "boþ"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Kayýt okuma hatasý!"
|
||||
|
@ -1389,6 +1389,3 @@ msgstr "Диск"
|
||||
|
||||
msgid "free"
|
||||
msgstr "вільно"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "Помилка доступу до запису!"
|
||||
|
@ -1392,6 +1392,3 @@ msgstr "硬盘已使用"
|
||||
|
||||
msgid "free"
|
||||
msgstr "可录像时间"
|
||||
|
||||
#~ msgid "Error while accessing recording!"
|
||||
#~ msgstr "存取录像错误!"
|
||||
|
74
recording.c
74
recording.c
@ -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 @@ void cIndexFileGenerator::Action(void)
|
||||
#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 @@ struct tIndexTs {
|
||||
#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 @@ cIndexFile::cIndexFile(const char *FileName, bool Record, bool IsPesRecording, b
|
||||
LOG_ERROR_STR(*fileName);
|
||||
}
|
||||
}
|
||||
if (Record)
|
||||
AddToIndexList(this);
|
||||
}
|
||||
|
||||
cIndexFile::~cIndexFile()
|
||||
{
|
||||
RemoveFromIndexList(this);
|
||||
if (f >= 0)
|
||||
close(f);
|
||||
free(index);
|
||||
@ -1824,14 +1819,11 @@ bool cIndexFile::CatchUp(int Index)
|
||||
// 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 @@ bool cIndexFile::CatchUp(int Index)
|
||||
}
|
||||
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 @@ int cIndexFile::GetNextIFrame(int Index, bool Forward, uint16_t *FileNumber, off
|
||||
*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 @@ int cIndexFile::GetLength(const char *FileName, bool IsPesRecording)
|
||||
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)) {
|
||||
|
@ -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 @@ private:
|
||||
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);
|
||||
|
36
skins.h
36
skins.h
@ -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 @@ public:
|
||||
*/
|
||||
};
|
||||
|
||||
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 @@ public:
|
||||
///< 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.
|
||||
|
Loading…
x
Reference in New Issue
Block a user