DVBZap Project Overview Documentation [2] [3] Sitemap

DVBZap and DVBSZap library

The DVBZap library code is a layer on top of the linux-dvb API. It is written in pure C providing an object-oriented wrapper. Instead of handling ioctls, handles and callbacks you can just create a new object and run a few methods on it which will send down the required control commands to the kernel. The object classes largely reflect the /dev/dvb/[adapter]/[controlport] layout in the device tree.

The DVBSZap library code is newer. It is largely a port of the pygtk applet code but each of the routines turned into a library object class. The actual applet binary is creating a wrapper around a generic gui object created from a widget class in the library. It is perfectly okay to integrate any of the object classes and widget types into third party binaries - not only by code design but also by using the Library GNU Public License as one of the licenses.

The two C libraries are currently in different subdirectories - in dvb/zap/* you will find the libdvbzap.la and in dvb/szap/* you will find the libdvbszap.la respectivly. The header files are also installed as such, so using it from third party code will look like #include <dvb/szap/window/>

The number of third party requisites is quite long. I am going to use pkgconfig to help. At the moment this creates a dvbzap.pc file but it is far from perfect - apart from the libglib and libgtk we need the libpanel and those import a lot of more things (including libgnomeui). Since the source is currently used only on my system I have not disintegrated the stuff but I am sure it would be better to use a lower set of dependencies for the various subprojects in dvbzap.

If you are going to use the code for your own work then you might just want to take a look directly at the configure.ac autoconf file and its macros. It's rather simple. The project itself is using all autotools (acinclude, aclocal, autoconf, automake and libtool) and the doc build references again back to my mksite tool which has served me well in binding a number of small webpages into a website complete with navigation bar and sitemap.

Download the tarball from sourceforge files .

Using `rpmbuild -ta [dvbzap-x.x.tar.bz2]` you can create a set of Linux RPM files which is best if you want to test the current code allowing you to easily remove the files later. For unknown reasons the gnome applets do not work when called via the libtool wrapper scripts in the build area (I have tried it with "make install-cvs" that installs *.server files pointing back to dvbszap-combo-applet-cvs in the dvbzap/bin build area. It does not start).

2005-03-22