Thanks go to the following people for patches and contributions: Carsten Koch for adding LIRC support for making the 'Recordings' menu be listed alphabetically for implementing the 'Summary' feature for adding the 'epg2timers' tool (see Tools/epg2timers) for his idea of using multiple disks (and for testing this feature) for implementing the 'new recording' indicator for suggesting that the "Back" button in replay mode should bring up the "Recordings" menu for fixing the watchdog timer if the program hangs in OSD activities Plamen Ganev for fixing the frequency offset for Hotbird channels for adding the 'xtvrc2vdr' tool (see Tools/xtvrc2vdr) for adding the 'dvbrc2vdr' tool (see Tools/dvbrc2vdr) for implementing "channel grouping" Heino Goldenstein for modifying scrolling through lists to make it page up and down Guido Fiala for implementing slow forward/back for implementing the SVDRP command 'HITK' for implementing image grabbing for implementing overlay capabilities (see his 'kvdr' tool at http://www.s.netic.de/gfiala) (overlay capabilities have been removed again in VDR 0.98, since kvdr version 0.4 now does these things itself) for making the replay progress display avoid unnecessary code execution Robert Schneider for implementing EIT support for displaying the current/next info for extending EIT support to implement a complete EPG Niels de Carpentier for adding a workaround for a driver timing problem in cDvbApi::Cmd() Martin Hammerschmid for suggesting to display the direct channel select input on the OSD for suggesting to use the "Blue" button in the main menu to resume replay for implementing pege up/down with the "Left" and "Right" keys for detecting a deadlock when switching channels via Schedule/Now|Next/Switch Bastian Guse for writing the FORMATS entry for timers.conf Matthias Schniedermeyer for implementing the 'MarkInstantRecord' setup option for his "schnitt" tools for his "master-timer" tool for helping to debug the "move to last position in list" bug Miha Setina for translating OSD texts to the Slovenian language Alberto Carraro for translating OSD texts to the Italian language Deti Fliegl for implementing the 'CurrentChannel' setup parameter for fixing setting the OSD size in the 'Confirm' interface call for fixing handling improper buffer lengths in the EIT parser Dave Chapman for implementing support for the teletext PID for his great support in switching to the NAPI for implementing DVB-T support Hans-Peter Raschke for his support in adapting VDR to DVB-C for adding the 'statdvb2vdr' tool (see Tools/statdvb2vdr) Peter Hofmann for his support in adapting VDR to DVB-C Axel Gruber for his support in keeping the Premiere World channels up to date in 'channels.conf' Arnold Niessen for translating OSD texts to the Dutch language Jürgen Sauer for implementing the -t option to set the controlling terminal Benjamin Reichardt for his help in debugging the transition to the new API Henning Holtschneider for patching 'runvdr' to check whether the driver is already loaded for reporting a bug in parsing group separators in channels.conf Paulo Lopes for translating OSD texts to the Portugese language Markus Lang and Ulrich Röder for making DiSEqC support configurable Markus Lang for some initial code for grouping the Setup menu into several sub-menus Jean-Claude Repetto for translating OSD texts to the French language Andre Valentin for increasing the key name buffer size for LIRC Jørgen Tvedt for translating OSD texts to the Norwegian language Stefan Huelswitt for fixing the repeat function with LIRC for making the position of the channel display configurable for making the width and height of the OSD configurable for implementing the "Jump" function in replay mode for implementing "Multi Speed Mode" for implementing backtracing for fast forward/rewind for implementing the replay mode display for fixing a crash when replaying with DEBUG_OSD=1 Ulrich Röder for pointing out that there are channels that have a symbol rate higher than 27500 for his support in keeping the Premiere World channels up to date in 'channels.conf' Mel Schächner for his support in keeping the Premiere World channels up to date in 'channels.conf' Andreas Schultz for adding support for replaying DVDs (much of this was derived from dvdplayer-0.5 by Matjaz Thaler ) for adding PTS to the converted PCM audio when replaying a DVD for fixing a crash in case there is no 'epg.data' at program start Aaron Holtzman for writing 'ac3dec' Wolfgang Henselmann-Weiss for fixing calculating the timeout value in cFile::FileReady() Uwe Scheffler for his help in keeping 'channels.conf.cable' up to date Matjaz Thaler for improving AC3 decoding when replaying DVDs for translating OSD texts to the Slovenian language Artur Skawina for improving the font file generation in the Makefile for pointing out a problem with the ERR macro defined by ncurses.h Werner Fink for making I/O more robust by handling EINTR for fixing closing all unused file descriptors when opening a pipe for helping to debug leftover 'zombie' processes when closing a pipe for making the Dolby Digital thread start only if the recording actually contains Dolby Digital data Rolf Hakenes for providing 'libdtv' and adapting the EIT mechanisms to it Andreas Vitting for providing code that closes all unused file descriptors in the child process of a pipe (used in cPipe) Matthias Weingart for fixing handling of the volume, mute and power keys when menus are active for fixing the repeat function when using the LIRC remote control Andreas Share for his support in keeping the Premiere World channels up to date in 'channels.conf' Simon Bauschulte for his support in keeping the Premiere World channels up to date in 'channels.conf' Andy Grobb for completing storing the current audio volume in the setup.conf file for fixing the EPG display in case Setup.ShowInfoOnChSwitch is set to "no" Thomas Heiligenmann for implementing the SVDRP commands LSTR and DELR Norbert Schmidt for filling in some missing teletext PIDs Thilo Wunderlich for his help in keeping 'channels.conf' up to date Stephan Schreiber for his support in keeping the Premiere World channels up to date in 'channels.conf.cable' Lauri Pesonen for avoiding linking in 'libncurses' if compiling without DEBUG_OSD=1 and REMOTE=KBD Sergei Haller for fixing the LastActivity timestamp after a shutdown prompt for fixing the "Low disk space!" message for adding the TPID to Hessen-3 in 'channels.conf' Andreas Gebel for his help in keeping 'channels.conf' up to date Davide Achilli for pointing out a bug in error handling while establishing an SVDRP connection Michael Paar for enabling recording of radio channels Hannu Savolainen for translating OSD texts to the Finnish language Jürgen Schmidt for fixing a problem with 'in_addr_t' on systems with glibc < 2.2. Uwe Freese for suggesting to automatically close an empty recordings page after deleting an entry Rainer Zocholl for suggesting a confirmation prompt when the user presses the "Power" button and there is an upcoming timer event for reporting a bug in skipping the next hit of a repeating timer Oleg Assovski for adding EPG scanning for another 4 days Adrian Stabiszewski for fixing the SVDRP GRAB command in case the video device can't be opened Bernd Schweikert for adding 'Ca' code 201 for 'Cryptoworks, GOD-DIGITAL' to 'ca.conf' Mirko Günther for suggesting the -m command line option for suggesting the SVDRP command VOLU Achim Lange for replacing 'killproc' with 'killall' in 'runvdr' to make it work on Debian for reporting a bug in switching back the replay mode display in time shift mode Klaus Wolf for reporting a bug in restoring the CICAM values for a fourth DVB card Bernd Zierath for helping to debug scrolling the "Channels" menu in case the cursor ends up on a group separator Truls Slevigen for translating OSD texts to the Norwegian language Ruben Nunez Francisco for implementing FreeDiskSpaceMB() without external 'df' command Michael Rakowski for translating OSD texts to the Polish language