mirror of
				https://github.com/vdr-projects/vdr.git
				synced 2025-03-01 10:50:46 +00:00 
			
		
		
		
	Version 1.3.48
- Updated the GPL copies (thanks to Ville Skyttä). - Fixed several spelling errors (thanks to Ville Skyttä). - Updated the Polish OSD texts (thanks to Jaroslaw Swierczynski). - Updated the Finnish OSD texts (thanks to Rolf Ahrenberg). - Updated the French OSD texts (thanks to Pierre Briec). - Updated the Estonian OSD texts (thanks to Arthur Konovalov). - Updated the Romanian OSD texts (thanks to Lucian Muresan). - Updated the Danish OSD texts (thanks to Mogens Elneff). - Updated the Russian OSD texts (thanks to Oleg Roitburd). - Updated the Slovenian OSD texts (thanks to Matjaz Thaler). - Fixed wrong credits for the patch that was used to implement cPlugin::Active(). - Simplified the 'grep|awk|sed' command to retrieve the VDR/APIVERSION to a single 'sed' call. - Updated the Swedish OSD texts (thanks to Tomas Prybil). - Modified the German OSD texts to be "less technical" (thanks to Andreas Brachold). - Extended the version number reported with the '-V' option to also show the current APIVERSION (suggested by Thomas Günther). - Fixed handling empty titles in cEvent::FixEpgBugs() (reported by Rolf Ahrenberg). - Fixed some missing '-' in the German OSD texts (thanks to Walter Koch). - Added an error message about plugins that don't honor APIVERSION in their Makefile (based on a suggestion by Udo Richter). - Fixed a format string in recording.c to avoid a compiler warning on 64bit systems (thanks to Christian Wieninger for reporting, and Werner Schweer for pointing out that the 'z' modifier should be used here). - Ignoring k_Repeat when deciding whether the same key has been pressed in string input fields (based on a patch from Marko Mäkelä).
This commit is contained in:
		
							
								
								
									
										49
									
								
								CONTRIBUTORS
									
									
									
									
									
								
							
							
						
						
									
										49
									
								
								CONTRIBUTORS
									
									
									
									
									
								
							@@ -1,5 +1,5 @@
 | 
			
		||||
Tons of suggestions, bugreports, patches and other contributions have been
 | 
			
		||||
provided by the people on the 'linux-dvb' and 'vdr' mailing lists.
 | 
			
		||||
provided by the people on the 'linux-dvb' and 'vdr' mailing lists
 | 
			
		||||
Special thanks go to the following individuals (if your name is missing here,
 | 
			
		||||
please send an email to kls@cadsoft.de):
 | 
			
		||||
 | 
			
		||||
@@ -48,7 +48,7 @@ Niels de Carpentier <niels@casema.net>
 | 
			
		||||
Martin Hammerschmid <martin@hammerschmid.com>
 | 
			
		||||
 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 implementing page up/down with the "Left" and "Right" keys
 | 
			
		||||
 for detecting a deadlock when switching channels via Schedule/Now|Next/Switch
 | 
			
		||||
 for adding a missing #include to ringbuffer.c
 | 
			
		||||
 for adding a missing 'public' keyword in device.h
 | 
			
		||||
@@ -300,7 +300,7 @@ Werner Fink <werner@suse.de>
 | 
			
		||||
 recordings can be triggered in the default branch
 | 
			
		||||
 for pointing out that pesAssembler->Reset() needs to be called between subsequent
 | 
			
		||||
 Transfer Modes
 | 
			
		||||
 for suggestions that led to the addition of the 'Id' parameter to cAudio::Play().
 | 
			
		||||
 for suggestions that led to the addition of the 'Id' parameter to cAudio::Play()
 | 
			
		||||
 for pointing out that MAXDPIDS needs to be to 16 (8xAC3 + 8xDTS)
 | 
			
		||||
 for reporting a problem with ensuring there is a current audio track in case there
 | 
			
		||||
 is only one track
 | 
			
		||||
@@ -377,7 +377,7 @@ Hannu Savolainen <hannu@opensound.com>
 | 
			
		||||
 for translating OSD texts to the Finnish language
 | 
			
		||||
 | 
			
		||||
J<EFBFBD>rgen Schmidt <ju@ct.heise.de>
 | 
			
		||||
 for fixing a problem with 'in_addr_t' on systems with glibc < 2.2.
 | 
			
		||||
 for fixing a problem with 'in_addr_t' on systems with glibc < 2.2
 | 
			
		||||
 for suggesting to optionally allow logging to LOG_LOCALn (n=0..7)
 | 
			
		||||
 | 
			
		||||
Uwe Freese <mail@uwe-freese.de>
 | 
			
		||||
@@ -444,7 +444,7 @@ Michael Rakowski <mrak@gmx.de>
 | 
			
		||||
 for translating OSD texts to the Polish language
 | 
			
		||||
 | 
			
		||||
Michael Moster <dvb@juelich-gmbh.de>
 | 
			
		||||
 for initally reporting the problem with wrong EPG data in the Schedules menu
 | 
			
		||||
 for initially reporting the problem with wrong EPG data in the Schedules menu
 | 
			
		||||
 (somehow I had misplaced his message...)
 | 
			
		||||
 | 
			
		||||
Tobias Kerner <tobschle@gmx.de>
 | 
			
		||||
@@ -833,6 +833,7 @@ Sascha Volkenandt <sascha@akv-soft.de>
 | 
			
		||||
 for reporting '\n' in an esyslog() call in osd.c
 | 
			
		||||
 for reporting missing '&' in the SetAreas() example in PLUGINS.html
 | 
			
		||||
 for reporting a memory leak in cString::operator=()
 | 
			
		||||
 for a patch that was used as a base to implement cPlugin::Active()
 | 
			
		||||
 | 
			
		||||
Malcolm Caldwell <malcolm.caldwell@ntu.edu.au>
 | 
			
		||||
 for modifying LOF handling to allow for C-band reception
 | 
			
		||||
@@ -883,6 +884,7 @@ Andreas Brachold <vdr04@deltab.de>
 | 
			
		||||
 for fixing the "plugins-clean" and "plugins-install" targets in the Makefile
 | 
			
		||||
 for suggesting to make the log messages regarding lost lock of devices "info"
 | 
			
		||||
 instead of "error"
 | 
			
		||||
 for modifying the German OSD texts to be "less technical"
 | 
			
		||||
 | 
			
		||||
Manuel Hartl <icecep@gmx.net>
 | 
			
		||||
 for suggesting to extend the logging info when starting/stopping timers
 | 
			
		||||
@@ -944,7 +946,7 @@ Marc Rovira Vall <tm05462@salleURL.edu>, Ramon Roca <ramon.roca@xcombo.com> and
 | 
			
		||||
 for translating OSD texts to the Catalanian language
 | 
			
		||||
 | 
			
		||||
Lars Bl<42>ser <LBlaeser@hofheim.de>
 | 
			
		||||
 for reporting a bug in EPG bugfix statistics which made log entires for undefined
 | 
			
		||||
 for reporting a bug in EPG bugfix statistics which made log entries for undefined
 | 
			
		||||
 channels
 | 
			
		||||
 | 
			
		||||
Niko Tarnanen <niko.tarnanen@hut.fi>
 | 
			
		||||
@@ -973,6 +975,7 @@ Rolf Ahrenberg <rahrenbe@cc.hut.fi>
 | 
			
		||||
 for adding a missing "Button$" for the Timer button and "Key$" in skinclassic.c
 | 
			
		||||
 for reporting a bug in handling the color button texts when switching from the
 | 
			
		||||
 'Schedule' menu of a channel without EPG info to the 'What's on now' menu
 | 
			
		||||
 for reporting a bug in handling empty titles in cEvent::FixEpgBugs()
 | 
			
		||||
 | 
			
		||||
Ralf Klueber <ralf.klueber@vodafone.com>
 | 
			
		||||
 for reporting a bug in cutting a recording if there is only a single editing mark
 | 
			
		||||
@@ -1084,7 +1087,7 @@ Richard Robson <richard_robson@beeb.net>
 | 
			
		||||
 device used by the timer, and the timer needs a different transponder
 | 
			
		||||
 | 
			
		||||
Manfred Schmidt-Voigt <manfred.schmidt-voigt@mannitec.de>
 | 
			
		||||
 for reporting a problem with runnign out of disk space while cutting in case
 | 
			
		||||
 for reporting a problem with running out of disk space while cutting in case
 | 
			
		||||
 there are still deleted recordings to remove
 | 
			
		||||
 | 
			
		||||
Javier Marcet <lists@marcet.info>
 | 
			
		||||
@@ -1098,7 +1101,7 @@ Robert Bartl <robert@bartl.priv.at>
 | 
			
		||||
 for reporting a hangup in SVDRP when the client disappears without sending QUIT
 | 
			
		||||
 | 
			
		||||
Sebastian Frei <sebastian@schnapsleichen.de>
 | 
			
		||||
 for his support in keeping 'channels.conf' up-to-date.
 | 
			
		||||
 for his support in keeping 'channels.conf' up-to-date
 | 
			
		||||
 for suggesting to rename the Makefile target 'plugins-clean' to 'clean-plugins'
 | 
			
		||||
 | 
			
		||||
Rene Bartsch <ml@bartschnet.de>
 | 
			
		||||
@@ -1278,7 +1281,7 @@ Marco Schl
 | 
			
		||||
 for avoiding unnecessary section filter start/stops
 | 
			
		||||
 for pointing out that if one PID can't be added, the whole cDevice::AttachReceiver()
 | 
			
		||||
 should fail and all PIDs added so far should be deleted
 | 
			
		||||
 for fixing attaching a cPlayer to a cDevice, so that 'Operation not permited'
 | 
			
		||||
 for fixing attaching a cPlayer to a cDevice, so that 'Operation not permitted'
 | 
			
		||||
 errors don't occur any more
 | 
			
		||||
 for reporting a problem with initialization of the main program loop variables
 | 
			
		||||
 with older compiler versions
 | 
			
		||||
@@ -1297,7 +1300,7 @@ Marco Schl
 | 
			
		||||
 when clearing the transfer buffer to avoid overflows
 | 
			
		||||
 for adding CMD_SPU_CHG_COLCON to cDvbSpuDecoder::setTime()
 | 
			
		||||
 for suggesting to force a new resync after a call to cRemux::Clear()
 | 
			
		||||
 for suggestions that led to the addition of the 'Id' parameter to cAudio::Play().
 | 
			
		||||
 for suggestions that led to the addition of the 'Id' parameter to cAudio::Play()
 | 
			
		||||
 for removing the "Cleared/PlayPes(NULL, 0)" handling from cTransfer::Action(), since
 | 
			
		||||
 this is now done when attaching the player to the device
 | 
			
		||||
 for adding DeviceClrAvailableTracks() and DeviceSetCurrentAudioTrack() to cPlayer
 | 
			
		||||
@@ -1407,6 +1410,8 @@ Udo Richter <udo_richter@gmx.de>
 | 
			
		||||
 case a replay is active
 | 
			
		||||
 for reporting a problem with plugins that report errors when VDR is run with the
 | 
			
		||||
 --help or --version option
 | 
			
		||||
 for suggesting to add a warning about plugins that don't honor APIVERSION in their
 | 
			
		||||
 Makefile
 | 
			
		||||
 | 
			
		||||
Sven Kreiensen <svenk@kammer.uni-hannover.de>
 | 
			
		||||
 for his help in keeping 'channels.conf.terr' up to date
 | 
			
		||||
@@ -1489,7 +1494,7 @@ Laurence Abbott <laz@club-burniston.co.uk>
 | 
			
		||||
 | 
			
		||||
Patrick Gleichmann <patrick@feedface.com>
 | 
			
		||||
 for fixing the default quality value when grabbing a JPEG image
 | 
			
		||||
 for suggestiong a modified page scrolling behaviour
 | 
			
		||||
 for suggesting a modified page scrolling behaviour
 | 
			
		||||
 for suggesting wrapping around in menu lists
 | 
			
		||||
 | 
			
		||||
Achim Tuffentsammer <a.tuffentsammer@web.de>
 | 
			
		||||
@@ -1505,6 +1510,7 @@ Marco Kremer <vdr.hgm.bg@gmx.net>
 | 
			
		||||
 | 
			
		||||
Walter Koch <koch@u32.de>
 | 
			
		||||
 for adding channels for DVB-T D<>sseldorf and K<>ln (Germany) to channels.cont.terr
 | 
			
		||||
 for fixing some missing '-' in the German OSD texts
 | 
			
		||||
 | 
			
		||||
Rolf Groppe <rolf@groppe.de>
 | 
			
		||||
 for suggesting to fall back to 'stereo' when switching channels in case the user
 | 
			
		||||
@@ -1563,6 +1569,8 @@ Ville Skytt
 | 
			
		||||
 in case it breaks
 | 
			
		||||
 for enabling generating a core dump if VDR is run with a different user id
 | 
			
		||||
 for reporting an obsolete entry 'S21.5E' in the default 'diseqc.conf'
 | 
			
		||||
 for updating the GPL copies
 | 
			
		||||
 for fixing several spelling errors
 | 
			
		||||
 | 
			
		||||
Steffen Beyer <cpunk@reactor.de>
 | 
			
		||||
 for fixing setting the colored button help after deleting a recording in case the next
 | 
			
		||||
@@ -1623,7 +1631,7 @@ Bernhard Stegmaier <bernhard.stegmaier@in.tum.de>
 | 
			
		||||
 scan timeout is set to 0
 | 
			
		||||
 | 
			
		||||
Klaus Heppenheimer <klaus@reel-multimedia.com>
 | 
			
		||||
 for reporting a race condition in cTransfer.
 | 
			
		||||
 for reporting a race condition in cTransfer
 | 
			
		||||
 | 
			
		||||
Thomas G<>nther <tom1@toms-cafe.de>
 | 
			
		||||
 for fixing handling the frame number display if '7' is pressed before the first
 | 
			
		||||
@@ -1634,6 +1642,8 @@ Thomas G
 | 
			
		||||
 for making the 'new' indicator in the Recordings menu kept up-to-date
 | 
			
		||||
 for reporting a crash when setting the time transponder in the Setup menu
 | 
			
		||||
 for reporting a bug in the initial setting of the time transponder setup parameter
 | 
			
		||||
 for suggesting to extend the version number reported with the '-V' option to also
 | 
			
		||||
 show the current APIVERSION
 | 
			
		||||
 | 
			
		||||
David Woodhouse <dwmw2@infradead.org>
 | 
			
		||||
 for his help in replacing the get/put_unaligned() macros from asm/unaligned.h with
 | 
			
		||||
@@ -1655,6 +1665,8 @@ Harald Milz <hm@seneca.muc.de>
 | 
			
		||||
Marko M<>kel<65> <marko.makela@hut.fi>
 | 
			
		||||
 for making repeat keys be ignored when waiting for a keypress to cancel an operation
 | 
			
		||||
 for reporting that a menu was automatically closed when a replay ends
 | 
			
		||||
 for suggesting to ignore k_Repeat when deciding whether the same key has been
 | 
			
		||||
 pressed in string input fields
 | 
			
		||||
 | 
			
		||||
Patrick Rother <krd-vdr@gulu.net>
 | 
			
		||||
 for reporting a bug in defining timers that only differ in the day of week
 | 
			
		||||
@@ -1675,7 +1687,7 @@ Philip Prindeville <philipp_subx@redfish-solutions.com>
 | 
			
		||||
Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
 | 
			
		||||
 for making VDR use use daemon() instead of fork() to run in daemon mode
 | 
			
		||||
 for fixing a possible endless loop in a menu with no selectable items if
 | 
			
		||||
 Setup.MenuScrollWrap is true (thanks to Enrico Scholz).
 | 
			
		||||
 Setup.MenuScrollWrap is true (thanks to Enrico Scholz)
 | 
			
		||||
 | 
			
		||||
Nicolas Huillard <nhuillard@e-dition.fr>
 | 
			
		||||
 for translating OSD texts to the French language
 | 
			
		||||
@@ -1727,6 +1739,7 @@ Christian Wieninger <cwieninger@gmx.de>
 | 
			
		||||
 for suggesting to add cMenuEditStrItem::InEditMode()
 | 
			
		||||
 for his idea of going directly into the "Edit timer" menu for a timer created
 | 
			
		||||
 from the "Schedule" menu in case it starts withing the next two minutes
 | 
			
		||||
 for reporting a problem with a format string in recording.c on 64bit systems
 | 
			
		||||
 | 
			
		||||
Thiemo Gehrke <tgehrke@reel-multimedia.com>
 | 
			
		||||
 for suggesting to add a setup option to turn off the automatic timeout of the
 | 
			
		||||
@@ -1838,12 +1851,16 @@ Richard Lithvall <richard@lithvall.se>
 | 
			
		||||
Tobias Grimm <listaccount@e-tobi.net>
 | 
			
		||||
 for suggesting to use geteuid() to check whether VDR is running as user 'root'
 | 
			
		||||
 | 
			
		||||
Peter Dittmann <peter.dittmann@philips.com>
 | 
			
		||||
 for a patch that was used as a base to implement cPlugin::Active()
 | 
			
		||||
 | 
			
		||||
Helge Lenz <h.lenz@gmx.de>
 | 
			
		||||
 for reporting a bug in setting the 'Delta' parameter when calling the shutdown
 | 
			
		||||
 script with no active timer
 | 
			
		||||
 | 
			
		||||
Peter Juszack <vdr@unterbrecher.de>
 | 
			
		||||
 for a patch that was used as a base to implement kNext and kPrev
 | 
			
		||||
 | 
			
		||||
Pierre Briec <pbriec@free.fr>
 | 
			
		||||
 for translating OSD texts to the French language
 | 
			
		||||
 | 
			
		||||
Werner Schweer <ws@seh.de>
 | 
			
		||||
 for pointing out that the 'z' printf modifier should be used for 'size_t' type
 | 
			
		||||
 arguments
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										18
									
								
								COPYING
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								COPYING
									
									
									
									
									
								
							@@ -2,7 +2,7 @@
 | 
			
		||||
		       Version 2, June 1991
 | 
			
		||||
 | 
			
		||||
 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
 | 
			
		||||
                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
			
		||||
 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 | 
			
		||||
 Everyone is permitted to copy and distribute verbatim copies
 | 
			
		||||
 of this license document, but changing it is not allowed.
 | 
			
		||||
 | 
			
		||||
@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users.  This
 | 
			
		||||
General Public License applies to most of the Free Software
 | 
			
		||||
Foundation's software and to any other program whose authors commit to
 | 
			
		||||
using it.  (Some other Free Software Foundation software is covered by
 | 
			
		||||
the GNU Library General Public License instead.)  You can apply it to
 | 
			
		||||
the GNU Lesser General Public License instead.)  You can apply it to
 | 
			
		||||
your programs, too.
 | 
			
		||||
 | 
			
		||||
  When we speak of free software, we are referring to freedom, not
 | 
			
		||||
@@ -55,7 +55,7 @@ patent must be licensed for everyone's free use or not licensed at all.
 | 
			
		||||
 | 
			
		||||
  The precise terms and conditions for copying, distribution and
 | 
			
		||||
modification follow.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		    GNU GENERAL PUBLIC LICENSE
 | 
			
		||||
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 | 
			
		||||
 | 
			
		||||
@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
 | 
			
		||||
    License.  (Exception: if the Program itself is interactive but
 | 
			
		||||
    does not normally print such an announcement, your work based on
 | 
			
		||||
    the Program is not required to print an announcement.)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
These requirements apply to the modified work as a whole.  If
 | 
			
		||||
identifiable sections of that work are not derived from the Program,
 | 
			
		||||
and can be reasonably considered independent and separate works in
 | 
			
		||||
@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
 | 
			
		||||
access to copy the source code from the same place counts as
 | 
			
		||||
distribution of the source code, even though third parties are not
 | 
			
		||||
compelled to copy the source along with the object code.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  4. You may not copy, modify, sublicense, or distribute the Program
 | 
			
		||||
except as expressly provided under this License.  Any attempt
 | 
			
		||||
otherwise to copy, modify, sublicense or distribute the Program is
 | 
			
		||||
@@ -225,7 +225,7 @@ impose that choice.
 | 
			
		||||
 | 
			
		||||
This section is intended to make thoroughly clear what is believed to
 | 
			
		||||
be a consequence of the rest of this License.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  8. If the distribution and/or use of the Program is restricted in
 | 
			
		||||
certain countries either by patents or by copyrighted interfaces, the
 | 
			
		||||
original copyright holder who places the Program under this License
 | 
			
		||||
@@ -278,7 +278,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
 | 
			
		||||
POSSIBILITY OF SUCH DAMAGES.
 | 
			
		||||
 | 
			
		||||
		     END OF TERMS AND CONDITIONS
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	    How to Apply These Terms to Your New Programs
 | 
			
		||||
 | 
			
		||||
  If you develop a new program, and you want it to be of the greatest
 | 
			
		||||
@@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
 | 
			
		||||
 | 
			
		||||
    You should have received a copy of the GNU General Public License
 | 
			
		||||
    along with this program; if not, write to the Free Software
 | 
			
		||||
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
			
		||||
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Also add information on how to contact you by electronic and paper mail.
 | 
			
		||||
@@ -336,5 +336,5 @@ necessary.  Here is a sample; alter the names:
 | 
			
		||||
This General Public License does not permit incorporating your program into
 | 
			
		||||
proprietary programs.  If your program is a subroutine library, you may
 | 
			
		||||
consider it more useful to permit linking proprietary applications with the
 | 
			
		||||
library.  If this is what you want to do, use the GNU Library General
 | 
			
		||||
library.  If this is what you want to do, use the GNU Lesser General
 | 
			
		||||
Public License instead of this License.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										45
									
								
								HISTORY
									
									
									
									
									
								
							
							
						
						
									
										45
									
								
								HISTORY
									
									
									
									
									
								
							@@ -2768,7 +2768,7 @@ Video Disk Recorder Revision History
 | 
			
		||||
  driver, together with the endian problem).
 | 
			
		||||
- The new OSD setup parameters "Left" and "Top" can be used to define the top left
 | 
			
		||||
  corner of the OSD.
 | 
			
		||||
- The OSD size prameters are now in pixel (as opposed to formerly characters).
 | 
			
		||||
- The OSD size parameters are now in pixel (as opposed to formerly characters).
 | 
			
		||||
  When reading a 'setup.conf' file from an older version of VDR, the OSDwidth
 | 
			
		||||
  and OSDheight values will be converted to pixel automatically.
 | 
			
		||||
- The OSD is now fully device independent. See the comments in VDR/osd.h and the
 | 
			
		||||
@@ -3046,7 +3046,7 @@ Video Disk Recorder Revision History
 | 
			
		||||
- Added some missing 'const' to cChannel.
 | 
			
		||||
- Added a sample setup for 'DisiCon-4 Single Cable Network' to 'diseqc.conf'
 | 
			
		||||
  (thanks to Oliver Endriss).
 | 
			
		||||
- Fixed attaching a cPlayer to a cDevice, so that 'Operation not permited'
 | 
			
		||||
- Fixed attaching a cPlayer to a cDevice, so that 'Operation not permitted'
 | 
			
		||||
  errors don't occur any more (thanks to Marco Schl<68><6C>ler).
 | 
			
		||||
- Fixed a case where the resultBuffer in cRemux ran full before getting a sync.
 | 
			
		||||
- Removed the usleep() call from cDvbPlayer::Action() to make VDR run on NPTL
 | 
			
		||||
@@ -3089,7 +3089,7 @@ Video Disk Recorder Revision History
 | 
			
		||||
- Immediately displaying the new channel info when switching channel groups.
 | 
			
		||||
- Moved the main program loop variables further up to allow compilation with
 | 
			
		||||
  older compiler versions (thanks to Marco Schl<68><6C>ler for reporting this one).
 | 
			
		||||
- Now calling pthread_cond_broadcast() in the desctructor of cCondWait and
 | 
			
		||||
- Now calling pthread_cond_broadcast() in the destructor of cCondWait and
 | 
			
		||||
  cCondVar to make sure any sleepers will wake up (suggested by Werner Fink).
 | 
			
		||||
  Also using pthread_cond_broadcast() instead of pthread_cond_signal() in
 | 
			
		||||
  cCondWait, in case there is more than one sleeper.
 | 
			
		||||
@@ -3136,7 +3136,7 @@ Video Disk Recorder Revision History
 | 
			
		||||
  funny characters. Invalid language codes will be stored as "???".
 | 
			
		||||
- The '0' key now toggles the "Day" item in the "Timers" menu between "single
 | 
			
		||||
  shot" and "repeating". The keys '1'...'7' can be used to toggle the individual
 | 
			
		||||
  days ('1' is monday). Thanks to Sascha Klek for reporting a problem with the
 | 
			
		||||
  days ('1' is Monday). Thanks to Sascha Klek for reporting a problem with the
 | 
			
		||||
  '0' key in the "Day" item of the "Timers" menu.
 | 
			
		||||
 | 
			
		||||
2004-11-21: Version 1.3.17
 | 
			
		||||
@@ -3281,7 +3281,7 @@ Video Disk Recorder Revision History
 | 
			
		||||
  Dino Ravnic).
 | 
			
		||||
- Implemented displaying mandatory subtitles in the SPU decoder (thanks to Marco
 | 
			
		||||
  Schl<68><6C>ler).
 | 
			
		||||
- The setup option "Recording/Record Dobly Digital" has been renamed and moved to
 | 
			
		||||
- The setup option "Recording/Record Dolby Digital" has been renamed and moved to
 | 
			
		||||
  "DVB/Use Dolby Digital". It now controls whether Dolby Digital is recorded and
 | 
			
		||||
  whether an available DD audio track will appear in the "Audio" menu.
 | 
			
		||||
- Added support for circular polarization (thanks to Jonan Santiago).
 | 
			
		||||
@@ -3346,7 +3346,7 @@ Video Disk Recorder Revision History
 | 
			
		||||
- Fixed masking SubStreamType in cDevice::PlayPesPacket() (thanks to Werner Fink
 | 
			
		||||
  for pointing out this one).
 | 
			
		||||
- The new function cPlugin::Stop() shall be used to stop any background activities
 | 
			
		||||
  of a plugin. Previously this was done in the plugin's desctructor, but it is
 | 
			
		||||
  of a plugin. Previously this was done in the plugin's destructor, but it is
 | 
			
		||||
  better to do this in a dedicated function that can be called early when shutting
 | 
			
		||||
  down.
 | 
			
		||||
- Moved the call to SetAudioChannel(0) into cDevice::ClrAvailableTracks() to have it
 | 
			
		||||
@@ -3505,7 +3505,7 @@ Video Disk Recorder Revision History
 | 
			
		||||
- Removed scaling coordinates in letterbox mode from cDvbSpu - the DVD plugin, which
 | 
			
		||||
  was the only one needing this, doesn't need it any more (thanks to Marco Schl<68><6C>ler).
 | 
			
		||||
- No longer retuning or restarting a recording if only the language code of an
 | 
			
		||||
  audio or dolby PID changes.
 | 
			
		||||
  audio or Dolby PID changes.
 | 
			
		||||
- Now preferring budget cards when selecting a DVB device for recording.
 | 
			
		||||
- Recordings now avoid zero sized video data files (thanks to Wolfgang Fitz).
 | 
			
		||||
- Some rearrangements in cDvbPlayer::Action() to avoid lockups on NPTL systems
 | 
			
		||||
@@ -4525,7 +4525,7 @@ Video Disk Recorder Revision History
 | 
			
		||||
- Updated the Danish OSD texts (thanks to Mogens Elneff).
 | 
			
		||||
- The new function cPlugin::Active() can be used by a plugin to indicate that it
 | 
			
		||||
  is still busy and the system should not shut down or restart (based on a patch
 | 
			
		||||
  from Peter Dittmann). See PLUGINS.html for details.
 | 
			
		||||
  from Sascha Volkenandt). See PLUGINS.html for details.
 | 
			
		||||
- Fixed setting the 'Delta' parameter when calling the shutdown script with
 | 
			
		||||
  no active timer (reported by Helge Lenz).
 | 
			
		||||
- In order to make sure that plugins are compiled with the same DVB driver header
 | 
			
		||||
@@ -4619,3 +4619,32 @@ Video Disk Recorder Revision History
 | 
			
		||||
- The new function cPlugin::MainThreadHook() can be used by plugins to perform
 | 
			
		||||
  actions in the context of the main program thread. Use this function with great
 | 
			
		||||
  care and only of you absolutely have to! See also PLUGINS.html.
 | 
			
		||||
 | 
			
		||||
2006-04-23: Version 1.3.48
 | 
			
		||||
 | 
			
		||||
- Updated the GPL copies (thanks to Ville Skytt<74>).
 | 
			
		||||
- Fixed several spelling errors (thanks to Ville Skytt<74>).
 | 
			
		||||
- Updated the Polish OSD texts (thanks to Jaroslaw Swierczynski).
 | 
			
		||||
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
 | 
			
		||||
- Updated the French OSD texts (thanks to Pierre Briec).
 | 
			
		||||
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
 | 
			
		||||
- Updated the Romanian OSD texts (thanks to Lucian Muresan).
 | 
			
		||||
- Updated the Danish OSD texts (thanks to Mogens Elneff).
 | 
			
		||||
- Updated the Russian OSD texts (thanks to Oleg Roitburd).
 | 
			
		||||
- Updated the Slovenian OSD texts (thanks to Matjaz Thaler).
 | 
			
		||||
- Fixed wrong credits for the patch that was used to implement cPlugin::Active().
 | 
			
		||||
- Simplified the 'grep|awk|sed' command to retrieve the VDR/APIVERSION to a single
 | 
			
		||||
  'sed' call.
 | 
			
		||||
- Updated the Swedish OSD texts (thanks to Tomas Prybil).
 | 
			
		||||
- Modified the German OSD texts to be "less technical" (thanks to Andreas Brachold).
 | 
			
		||||
- Extended the version number reported with the '-V' option to also show the
 | 
			
		||||
  current APIVERSION (suggested by Thomas G<>nther).
 | 
			
		||||
- Fixed handling empty titles in cEvent::FixEpgBugs() (reported by Rolf Ahrenberg).
 | 
			
		||||
- Fixed some missing '-' in the German OSD texts (thanks to Walter Koch).
 | 
			
		||||
- Added an error message about plugins that don't honor APIVERSION in their Makefile
 | 
			
		||||
  (based on a suggestion by Udo Richter).
 | 
			
		||||
- Fixed a format string in recording.c to avoid a compiler warning on 64bit systems
 | 
			
		||||
  (thanks to Christian Wieninger for reporting, and Werner Schweer for pointing out
 | 
			
		||||
  that the 'z' modifier should be used here).
 | 
			
		||||
- Ignoring k_Repeat when deciding whether the same key has been pressed in string
 | 
			
		||||
  input fields (based on a patch from Marko M<>kel<65>).
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								INSTALL
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								INSTALL
									
									
									
									
									
								
							@@ -64,7 +64,7 @@ the default:
 | 
			
		||||
 | 
			
		||||
Alternatively you can use the '--rcu' or '--lirc' options at runtime.
 | 
			
		||||
These options accept an optional path to the remote control device,
 | 
			
		||||
which's defaults can be set via the RCU_DEVICE and LIRC_DEVICE macros,
 | 
			
		||||
the defaults of which can be set via the RCU_DEVICE and LIRC_DEVICE macros,
 | 
			
		||||
respectively.
 | 
			
		||||
 | 
			
		||||
If your video directory will be on a VFAT partition, add the compile
 | 
			
		||||
@@ -130,7 +130,7 @@ If you run VDR using the 'runvdr' shell script it will use the built-in
 | 
			
		||||
watchdog timer to restart the program in case something happens that
 | 
			
		||||
causes a program hangup. If you change the command line options for the
 | 
			
		||||
call to the VDR program, be sure to NOT use the '-d' option! Otherwise
 | 
			
		||||
VDR will go into 'deamon' mode and the initial program call will return
 | 
			
		||||
VDR will go into 'daemon' mode and the initial program call will return
 | 
			
		||||
immediately! 'runvdr' needs to be started as user 'root'. Use the '-u'
 | 
			
		||||
option to run the actual 'vdr' program under a different user id.
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								MANUAL
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								MANUAL
									
									
									
									
									
								
							@@ -787,7 +787,7 @@ Version 1.3
 | 
			
		||||
  Zap Timeout = 3        The time (in seconds) until a channel counts as "previous"
 | 
			
		||||
                         for switching with '0'
 | 
			
		||||
 | 
			
		||||
  Inital channel = 0     The number of the channel that shall be tuned to when
 | 
			
		||||
  Initial channel = 0    The number of the channel that shall be tuned to when
 | 
			
		||||
                         VDR starts. Default is 0, which means that it will
 | 
			
		||||
                         tune to the channel that was on before VDR was stopped.
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										13
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								Makefile
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
			
		||||
# See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
# how to reach the author.
 | 
			
		||||
#
 | 
			
		||||
# $Id: Makefile 1.87 2006/04/16 09:00:30 kls Exp $
 | 
			
		||||
# $Id: Makefile 1.89 2006/04/23 09:01:17 kls Exp $
 | 
			
		||||
 | 
			
		||||
.DELETE_ON_ERROR:
 | 
			
		||||
 | 
			
		||||
@@ -81,8 +81,8 @@ DEFINES += -DPLUGINDIR=\"$(PLUGINLIBDIR)\"
 | 
			
		||||
 | 
			
		||||
# The version numbers of VDR and the plugin API (taken from VDR's "config.h"):
 | 
			
		||||
 | 
			
		||||
VDRVERSION = $(shell grep 'define VDRVERSION ' config.h | awk '{ print $$3 }' | sed -e 's/"//g')
 | 
			
		||||
APIVERSION = $(shell grep 'define APIVERSION ' config.h | awk '{ print $$3 }' | sed -e 's/"//g')
 | 
			
		||||
VDRVERSION = $(shell sed -ne '/define VDRVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' config.h)
 | 
			
		||||
APIVERSION = $(shell sed -ne '/define APIVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' config.h)
 | 
			
		||||
 | 
			
		||||
ifdef VFAT
 | 
			
		||||
# for people who want their video directory on a VFAT partition
 | 
			
		||||
@@ -176,10 +176,17 @@ include-dir:
 | 
			
		||||
 | 
			
		||||
plugins: include-dir
 | 
			
		||||
	@failed="";\
 | 
			
		||||
	@noapiv="";\
 | 
			
		||||
	for i in `ls $(PLUGINDIR)/src | grep -v '[^a-z0-9]'`; do\
 | 
			
		||||
	    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";\
 | 
			
		||||
	    done;\
 | 
			
		||||
	if [ -n "$$noapiv" ] ; then echo; echo "*** plugins without APIVERSION:$$noapiv"; echo; fi;\
 | 
			
		||||
	if [ -n "$$failed" ] ; then echo; echo "*** failed plugins:$$failed"; echo; fi
 | 
			
		||||
 | 
			
		||||
clean-plugins:
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										24
									
								
								PLUGINS.html
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								PLUGINS.html
									
									
									
									
									
								
							@@ -219,7 +219,7 @@ have several different versions of a plugin source (like <tt>hello-0.0.1</tt> an
 | 
			
		||||
Call the Perl script <tt>newplugin</tt> from the VDR source directory to create
 | 
			
		||||
a new plugin directory with a <tt>Makefile</tt> and a main source file implementing
 | 
			
		||||
the basic derived plugin class.
 | 
			
		||||
You will also find a <tt>README</tt> file there with some inital text, where you
 | 
			
		||||
You will also find a <tt>README</tt> file there with some initial text, where you
 | 
			
		||||
should fill in actual information about your project.
 | 
			
		||||
A <tt>HISTORY</tt> file is set up with an "Initial revision" entry. As your project
 | 
			
		||||
evolves, you should add the changes here with date and version number.
 | 
			
		||||
@@ -284,7 +284,7 @@ dot with an underline and precedes the whole thing with two underlines.
 | 
			
		||||
The GNU library header files do this pretty much the same way, except that they
 | 
			
		||||
usually precede the name with only one underline (there are exceptions, though).
 | 
			
		||||
<p>
 | 
			
		||||
As long as you make shure that none of your plugin's header files will be named
 | 
			
		||||
As long as you make sure that none of your plugin's header files will be named
 | 
			
		||||
like one of VDR's header files, you can use the same method as VDR. However,
 | 
			
		||||
if you want to name a header file like one that is already existing in VDR's
 | 
			
		||||
source (<tt>i18n.h</tt> would be a possible candidate for this), you may want
 | 
			
		||||
@@ -794,7 +794,7 @@ The constructor initializes two private members with the values of these paramet
 | 
			
		||||
that the <i>Setup</i> menu can work with temporary copies (in order to discard any changes
 | 
			
		||||
if the user doesn't confirm them by pressing the "Ok" button).
 | 
			
		||||
After this the constructor adds the appropriate menu items, using internationalized texts
 | 
			
		||||
and the addresses of the temporary variables. That's all there is to inizialize a <i>Setup</i>
 | 
			
		||||
and the addresses of the temporary variables. That's all there is to initialize a <i>Setup</i>
 | 
			
		||||
menu - the rest will be done by the core VDR code.
 | 
			
		||||
<p>
 | 
			
		||||
Once the user has pressed the "Ok" button to confirm the changes, the <tt>Store()</tt> function will
 | 
			
		||||
@@ -957,7 +957,7 @@ structure, and any change to the format should  be reflected by a change
 | 
			
		||||
of the id string.
 | 
			
		||||
<p>
 | 
			
		||||
The function shall return <i>true</i> for any service id string it handles, and <i>false</i>
 | 
			
		||||
otherwise. The plugins have to agreee in which situations the service
 | 
			
		||||
otherwise. The plugins have to agree in which situations the service
 | 
			
		||||
may be called, for example whether the service may be called from every thread, or
 | 
			
		||||
just from the main thread. A possible implementation could look like this:
 | 
			
		||||
 | 
			
		||||
@@ -1040,7 +1040,7 @@ by exactly 4 blanks (no tabs), and none of them shall be longer than 79 characte
 | 
			
		||||
(to avoid messy output on 80 character wide terminals). The last entry in the
 | 
			
		||||
list must be NULL.
 | 
			
		||||
<p>
 | 
			
		||||
The command names <tt>HELP</tt> and <tt>MAIN</tt> are reserverd and cannot
 | 
			
		||||
The command names <tt>HELP</tt> and <tt>MAIN</tt> are reserved and cannot
 | 
			
		||||
be used by a plugin.
 | 
			
		||||
<p>
 | 
			
		||||
The actual processing of SVDRP commands for a plugin is done in its
 | 
			
		||||
@@ -1283,8 +1283,8 @@ int PlayPes(const uchar *Data, int Length, bool VideoOnly);
 | 
			
		||||
</pre></td></tr></table><p>
 | 
			
		||||
 | 
			
		||||
where <tt>Data</tt> points to a block of <tt>Length</tt> bytes of a PES data
 | 
			
		||||
stream containing any combination of video, audio or dolby tracks. Which audio
 | 
			
		||||
or dolby track will actually be played is controlled by the device the player
 | 
			
		||||
stream containing any combination of video, audio or Dolby tracks. Which audio
 | 
			
		||||
or Dolby track will actually be played is controlled by the device the player
 | 
			
		||||
is attached to. There are no prerequisites regarding the length or alignment of an
 | 
			
		||||
individual block of data. The sum of all blocks must simply result in the
 | 
			
		||||
desired data stream, and it must be delivered fast enough so that the
 | 
			
		||||
@@ -1473,7 +1473,7 @@ cMyReceiver *Receiver = new cMyReceiver(123);
 | 
			
		||||
cDevice::ActualDevice()->AttachReceiver(Receiver);
 | 
			
		||||
</pre></td></tr></table><p>
 | 
			
		||||
 | 
			
		||||
Noteh the use of <tt>cDevice::ActualDevice()</tt> here, which makes sure that
 | 
			
		||||
Note the use of <tt>cDevice::ActualDevice()</tt> here, which makes sure that
 | 
			
		||||
the receiver is attached to the device that actually receives the current live
 | 
			
		||||
video stream (this may be different from the primary device in case of <i>Transfer
 | 
			
		||||
Mode</i>).
 | 
			
		||||
@@ -1483,7 +1483,7 @@ and will automatically detach itself from the <tt>cDevice</tt>.
 | 
			
		||||
 | 
			
		||||
<a name="Filters"><hr><h2>Filters</h2>
 | 
			
		||||
 | 
			
		||||
<center><i><b>A Fistful of Datas</b></i></center><p>
 | 
			
		||||
<center><i><b>A Fistful of Data</b></i></center><p>
 | 
			
		||||
 | 
			
		||||
If you want to receive section data you have to implement a derived <tt>cFilter</tt>
 | 
			
		||||
class which at least implements the <tt>Process()</tt> function and a constructor
 | 
			
		||||
@@ -1556,7 +1556,7 @@ depth. However, the actual OSD device in use may not be able to provide the
 | 
			
		||||
full area or color depth, maybe because of lack of OSD memory or other restrictions.
 | 
			
		||||
A plugin that uses the OSD should therefore test whether the OSD is able to
 | 
			
		||||
provide the requested functionality, and should offer alternate color depths
 | 
			
		||||
to allow a less powerfull OSD implementation to still work reasonably.
 | 
			
		||||
to allow a less powerful OSD implementation to still work reasonably.
 | 
			
		||||
Since it is often not really necessary to have hundreds or thousands of colors
 | 
			
		||||
all over the OSD area, a plugin can divide the total drawing area into several
 | 
			
		||||
sub-areas with different color depths and separate color palettes, as in
 | 
			
		||||
@@ -1753,7 +1753,7 @@ virtual bool SetChannelDevice(const cChannel *Channel, bool LiveView);
 | 
			
		||||
 | 
			
		||||
These functions will be called with the desired source or channel and shall return whether
 | 
			
		||||
this device can provide the requested source or channel and whether tuning to it was successful,
 | 
			
		||||
repectively.
 | 
			
		||||
respectively.
 | 
			
		||||
<p>
 | 
			
		||||
<b>Audio selection</b>
 | 
			
		||||
<p>
 | 
			
		||||
@@ -1786,7 +1786,7 @@ must deliver exactly one such packet (if one is currently available).
 | 
			
		||||
<p>
 | 
			
		||||
<b>Replaying</b>
 | 
			
		||||
<p>
 | 
			
		||||
The functions to implement replaying capabilites are
 | 
			
		||||
The functions to implement replaying capabilities are
 | 
			
		||||
 | 
			
		||||
<p><table><tr><td bgcolor=#F0F0F0><pre>
 | 
			
		||||
virtual bool HasDecoder(void) const;
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
		       Version 2, June 1991
 | 
			
		||||
 | 
			
		||||
 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
 | 
			
		||||
                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
			
		||||
 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 | 
			
		||||
 Everyone is permitted to copy and distribute verbatim copies
 | 
			
		||||
 of this license document, but changing it is not allowed.
 | 
			
		||||
 | 
			
		||||
@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users.  This
 | 
			
		||||
General Public License applies to most of the Free Software
 | 
			
		||||
Foundation's software and to any other program whose authors commit to
 | 
			
		||||
using it.  (Some other Free Software Foundation software is covered by
 | 
			
		||||
the GNU Library General Public License instead.)  You can apply it to
 | 
			
		||||
the GNU Lesser General Public License instead.)  You can apply it to
 | 
			
		||||
your programs, too.
 | 
			
		||||
 | 
			
		||||
  When we speak of free software, we are referring to freedom, not
 | 
			
		||||
@@ -55,7 +55,7 @@ patent must be licensed for everyone's free use or not licensed at all.
 | 
			
		||||
 | 
			
		||||
  The precise terms and conditions for copying, distribution and
 | 
			
		||||
modification follow.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		    GNU GENERAL PUBLIC LICENSE
 | 
			
		||||
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 | 
			
		||||
 | 
			
		||||
@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
 | 
			
		||||
    License.  (Exception: if the Program itself is interactive but
 | 
			
		||||
    does not normally print such an announcement, your work based on
 | 
			
		||||
    the Program is not required to print an announcement.)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
These requirements apply to the modified work as a whole.  If
 | 
			
		||||
identifiable sections of that work are not derived from the Program,
 | 
			
		||||
and can be reasonably considered independent and separate works in
 | 
			
		||||
@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
 | 
			
		||||
access to copy the source code from the same place counts as
 | 
			
		||||
distribution of the source code, even though third parties are not
 | 
			
		||||
compelled to copy the source along with the object code.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  4. You may not copy, modify, sublicense, or distribute the Program
 | 
			
		||||
except as expressly provided under this License.  Any attempt
 | 
			
		||||
otherwise to copy, modify, sublicense or distribute the Program is
 | 
			
		||||
@@ -225,7 +225,7 @@ impose that choice.
 | 
			
		||||
 | 
			
		||||
This section is intended to make thoroughly clear what is believed to
 | 
			
		||||
be a consequence of the rest of this License.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  8. If the distribution and/or use of the Program is restricted in
 | 
			
		||||
certain countries either by patents or by copyrighted interfaces, the
 | 
			
		||||
original copyright holder who places the Program under this License
 | 
			
		||||
@@ -278,7 +278,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
 | 
			
		||||
POSSIBILITY OF SUCH DAMAGES.
 | 
			
		||||
 | 
			
		||||
		     END OF TERMS AND CONDITIONS
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	    How to Apply These Terms to Your New Programs
 | 
			
		||||
 | 
			
		||||
  If you develop a new program, and you want it to be of the greatest
 | 
			
		||||
@@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
 | 
			
		||||
 | 
			
		||||
    You should have received a copy of the GNU General Public License
 | 
			
		||||
    along with this program; if not, write to the Free Software
 | 
			
		||||
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
			
		||||
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Also add information on how to contact you by electronic and paper mail.
 | 
			
		||||
@@ -336,5 +336,5 @@ necessary.  Here is a sample; alter the names:
 | 
			
		||||
This General Public License does not permit incorporating your program into
 | 
			
		||||
proprietary programs.  If your program is a subroutine library, you may
 | 
			
		||||
consider it more useful to permit linking proprietary applications with the
 | 
			
		||||
library.  If this is what you want to do, use the GNU Library General
 | 
			
		||||
library.  If this is what you want to do, use the GNU Lesser General
 | 
			
		||||
Public License instead of this License.
 | 
			
		||||
 
 | 
			
		||||
@@ -45,3 +45,7 @@ VDR Plugin 'hello' Revision History
 | 
			
		||||
2002-12-13: Version 0.1.0
 | 
			
		||||
 | 
			
		||||
- Changed setting of CXX and CXXFLAGS variables in Makefile.
 | 
			
		||||
 | 
			
		||||
2006-04-22: Version 0.1.1
 | 
			
		||||
 | 
			
		||||
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
#
 | 
			
		||||
# Makefile for a Video Disk Recorder plugin
 | 
			
		||||
#
 | 
			
		||||
# $Id: Makefile 1.12 2006/04/16 09:03:50 kls Exp $
 | 
			
		||||
# $Id: Makefile 1.13 2006/04/22 09:59:44 kls Exp $
 | 
			
		||||
 | 
			
		||||
# The official name of this plugin.
 | 
			
		||||
# This name will be used in the '-P...' option of VDR to load the plugin.
 | 
			
		||||
@@ -30,7 +30,7 @@ TMPDIR = /tmp
 | 
			
		||||
 | 
			
		||||
### The version number of VDR's plugin API (taken from VDR's "config.h"):
 | 
			
		||||
 | 
			
		||||
APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
 | 
			
		||||
APIVERSION = $(shell sed -ne '/define APIVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' $(VDRDIR)/config.h)
 | 
			
		||||
 | 
			
		||||
### The name of the distribution archive:
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,7 @@
 | 
			
		||||
 *
 | 
			
		||||
 * See the README file for copyright information and how to reach the author.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: hello.c 1.11 2002/12/13 15:01:43 kls Exp $
 | 
			
		||||
 * $Id: hello.c 1.12 2006/04/22 09:31:52 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <getopt.h>
 | 
			
		||||
@@ -12,7 +12,7 @@
 | 
			
		||||
#include <vdr/plugin.h>
 | 
			
		||||
#include "i18n.h"
 | 
			
		||||
 | 
			
		||||
static const char *VERSION        = "0.1.0";
 | 
			
		||||
static const char *VERSION        = "0.1.1";
 | 
			
		||||
static const char *DESCRIPTION    = "A friendly greeting";
 | 
			
		||||
static const char *MAINMENUENTRY  = "Hello";
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,7 @@
 | 
			
		||||
 *
 | 
			
		||||
 * See the README file for copyright information and how to reach the author.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: i18n.c 1.5 2006/02/04 10:51:41 kls Exp $
 | 
			
		||||
 * $Id: i18n.c 1.6 2006/04/22 09:30:57 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "i18n.h"
 | 
			
		||||
@@ -17,7 +17,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "Hei",
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
@@ -39,7 +39,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "Hei maailma!",
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
@@ -61,7 +61,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "Mit<EFBFBD> kuuluu?",
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
@@ -83,7 +83,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "Yst<EFBFBD>v<EFBFBD>llisin terveisin",
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
@@ -105,7 +105,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "Tervehdysaika (s)",
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
@@ -127,7 +127,7 @@ const tI18nPhrase Phrases[] = {
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "K<EFBFBD>yt<EFBFBD> vaihtoehtoista tervehdyst<73>",
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
    "",// TODO
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
		       Version 2, June 1991
 | 
			
		||||
 | 
			
		||||
 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
 | 
			
		||||
                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
			
		||||
 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 | 
			
		||||
 Everyone is permitted to copy and distribute verbatim copies
 | 
			
		||||
 of this license document, but changing it is not allowed.
 | 
			
		||||
 | 
			
		||||
@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users.  This
 | 
			
		||||
General Public License applies to most of the Free Software
 | 
			
		||||
Foundation's software and to any other program whose authors commit to
 | 
			
		||||
using it.  (Some other Free Software Foundation software is covered by
 | 
			
		||||
the GNU Library General Public License instead.)  You can apply it to
 | 
			
		||||
the GNU Lesser General Public License instead.)  You can apply it to
 | 
			
		||||
your programs, too.
 | 
			
		||||
 | 
			
		||||
  When we speak of free software, we are referring to freedom, not
 | 
			
		||||
@@ -55,7 +55,7 @@ patent must be licensed for everyone's free use or not licensed at all.
 | 
			
		||||
 | 
			
		||||
  The precise terms and conditions for copying, distribution and
 | 
			
		||||
modification follow.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		    GNU GENERAL PUBLIC LICENSE
 | 
			
		||||
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 | 
			
		||||
 | 
			
		||||
@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
 | 
			
		||||
    License.  (Exception: if the Program itself is interactive but
 | 
			
		||||
    does not normally print such an announcement, your work based on
 | 
			
		||||
    the Program is not required to print an announcement.)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
These requirements apply to the modified work as a whole.  If
 | 
			
		||||
identifiable sections of that work are not derived from the Program,
 | 
			
		||||
and can be reasonably considered independent and separate works in
 | 
			
		||||
@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
 | 
			
		||||
access to copy the source code from the same place counts as
 | 
			
		||||
distribution of the source code, even though third parties are not
 | 
			
		||||
compelled to copy the source along with the object code.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  4. You may not copy, modify, sublicense, or distribute the Program
 | 
			
		||||
except as expressly provided under this License.  Any attempt
 | 
			
		||||
otherwise to copy, modify, sublicense or distribute the Program is
 | 
			
		||||
@@ -225,7 +225,7 @@ impose that choice.
 | 
			
		||||
 | 
			
		||||
This section is intended to make thoroughly clear what is believed to
 | 
			
		||||
be a consequence of the rest of this License.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  8. If the distribution and/or use of the Program is restricted in
 | 
			
		||||
certain countries either by patents or by copyrighted interfaces, the
 | 
			
		||||
original copyright holder who places the Program under this License
 | 
			
		||||
@@ -278,7 +278,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
 | 
			
		||||
POSSIBILITY OF SUCH DAMAGES.
 | 
			
		||||
 | 
			
		||||
		     END OF TERMS AND CONDITIONS
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	    How to Apply These Terms to Your New Programs
 | 
			
		||||
 | 
			
		||||
  If you develop a new program, and you want it to be of the greatest
 | 
			
		||||
@@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
 | 
			
		||||
 | 
			
		||||
    You should have received a copy of the GNU General Public License
 | 
			
		||||
    along with this program; if not, write to the Free Software
 | 
			
		||||
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
			
		||||
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Also add information on how to contact you by electronic and paper mail.
 | 
			
		||||
@@ -336,5 +336,5 @@ necessary.  Here is a sample; alter the names:
 | 
			
		||||
This General Public License does not permit incorporating your program into
 | 
			
		||||
proprietary programs.  If your program is a subroutine library, you may
 | 
			
		||||
consider it more useful to permit linking proprietary applications with the
 | 
			
		||||
library.  If this is what you want to do, use the GNU Library General
 | 
			
		||||
library.  If this is what you want to do, use the GNU Lesser General
 | 
			
		||||
Public License instead of this License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
#
 | 
			
		||||
# Makefile for a Video Disk Recorder plugin
 | 
			
		||||
#
 | 
			
		||||
# $Id: Makefile 1.6 2006/04/16 09:03:55 kls Exp $
 | 
			
		||||
# $Id: Makefile 1.7 2006/04/22 09:59:49 kls Exp $
 | 
			
		||||
 | 
			
		||||
# The official name of this plugin.
 | 
			
		||||
# This name will be used in the '-P...' option of VDR to load the plugin.
 | 
			
		||||
@@ -30,7 +30,7 @@ TMPDIR = /tmp
 | 
			
		||||
 | 
			
		||||
### The version number of VDR's plugin API (taken from VDR's "config.h"):
 | 
			
		||||
 | 
			
		||||
APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
 | 
			
		||||
APIVERSION = $(shell sed -ne '/define APIVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' $(VDRDIR)/config.h)
 | 
			
		||||
 | 
			
		||||
### The name of the distribution archive:
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
		       Version 2, June 1991
 | 
			
		||||
 | 
			
		||||
 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
 | 
			
		||||
                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
			
		||||
 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 | 
			
		||||
 Everyone is permitted to copy and distribute verbatim copies
 | 
			
		||||
 of this license document, but changing it is not allowed.
 | 
			
		||||
 | 
			
		||||
@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users.  This
 | 
			
		||||
General Public License applies to most of the Free Software
 | 
			
		||||
Foundation's software and to any other program whose authors commit to
 | 
			
		||||
using it.  (Some other Free Software Foundation software is covered by
 | 
			
		||||
the GNU Library General Public License instead.)  You can apply it to
 | 
			
		||||
the GNU Lesser General Public License instead.)  You can apply it to
 | 
			
		||||
your programs, too.
 | 
			
		||||
 | 
			
		||||
  When we speak of free software, we are referring to freedom, not
 | 
			
		||||
@@ -55,7 +55,7 @@ patent must be licensed for everyone's free use or not licensed at all.
 | 
			
		||||
 | 
			
		||||
  The precise terms and conditions for copying, distribution and
 | 
			
		||||
modification follow.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		    GNU GENERAL PUBLIC LICENSE
 | 
			
		||||
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 | 
			
		||||
 | 
			
		||||
@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
 | 
			
		||||
    License.  (Exception: if the Program itself is interactive but
 | 
			
		||||
    does not normally print such an announcement, your work based on
 | 
			
		||||
    the Program is not required to print an announcement.)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
These requirements apply to the modified work as a whole.  If
 | 
			
		||||
identifiable sections of that work are not derived from the Program,
 | 
			
		||||
and can be reasonably considered independent and separate works in
 | 
			
		||||
@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
 | 
			
		||||
access to copy the source code from the same place counts as
 | 
			
		||||
distribution of the source code, even though third parties are not
 | 
			
		||||
compelled to copy the source along with the object code.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  4. You may not copy, modify, sublicense, or distribute the Program
 | 
			
		||||
except as expressly provided under this License.  Any attempt
 | 
			
		||||
otherwise to copy, modify, sublicense or distribute the Program is
 | 
			
		||||
@@ -225,7 +225,7 @@ impose that choice.
 | 
			
		||||
 | 
			
		||||
This section is intended to make thoroughly clear what is believed to
 | 
			
		||||
be a consequence of the rest of this License.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  8. If the distribution and/or use of the Program is restricted in
 | 
			
		||||
certain countries either by patents or by copyrighted interfaces, the
 | 
			
		||||
original copyright holder who places the Program under this License
 | 
			
		||||
@@ -278,7 +278,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
 | 
			
		||||
POSSIBILITY OF SUCH DAMAGES.
 | 
			
		||||
 | 
			
		||||
		     END OF TERMS AND CONDITIONS
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	    How to Apply These Terms to Your New Programs
 | 
			
		||||
 | 
			
		||||
  If you develop a new program, and you want it to be of the greatest
 | 
			
		||||
@@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
 | 
			
		||||
 | 
			
		||||
    You should have received a copy of the GNU General Public License
 | 
			
		||||
    along with this program; if not, write to the Free Software
 | 
			
		||||
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
			
		||||
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Also add information on how to contact you by electronic and paper mail.
 | 
			
		||||
@@ -336,5 +336,5 @@ necessary.  Here is a sample; alter the names:
 | 
			
		||||
This General Public License does not permit incorporating your program into
 | 
			
		||||
proprietary programs.  If your program is a subroutine library, you may
 | 
			
		||||
consider it more useful to permit linking proprietary applications with the
 | 
			
		||||
library.  If this is what you want to do, use the GNU Library General
 | 
			
		||||
library.  If this is what you want to do, use the GNU Lesser General
 | 
			
		||||
Public License instead of this License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
#
 | 
			
		||||
# Makefile for a Video Disk Recorder plugin
 | 
			
		||||
#
 | 
			
		||||
# $Id: Makefile 1.4 2006/04/16 09:03:59 kls Exp $
 | 
			
		||||
# $Id: Makefile 1.5 2006/04/22 09:59:55 kls Exp $
 | 
			
		||||
 | 
			
		||||
# The official name of this plugin.
 | 
			
		||||
# This name will be used in the '-P...' option of VDR to load the plugin.
 | 
			
		||||
@@ -31,7 +31,7 @@ TMPDIR = /tmp
 | 
			
		||||
 | 
			
		||||
### The version number of VDR's plugin API (taken from VDR's "config.h"):
 | 
			
		||||
 | 
			
		||||
APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
 | 
			
		||||
APIVERSION = $(shell sed -ne '/define APIVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' $(VDRDIR)/config.h)
 | 
			
		||||
 | 
			
		||||
### The name of the distribution archive:
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
		       Version 2, June 1991
 | 
			
		||||
 | 
			
		||||
 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
 | 
			
		||||
                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
			
		||||
 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 | 
			
		||||
 Everyone is permitted to copy and distribute verbatim copies
 | 
			
		||||
 of this license document, but changing it is not allowed.
 | 
			
		||||
 | 
			
		||||
@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users.  This
 | 
			
		||||
General Public License applies to most of the Free Software
 | 
			
		||||
Foundation's software and to any other program whose authors commit to
 | 
			
		||||
using it.  (Some other Free Software Foundation software is covered by
 | 
			
		||||
the GNU Library General Public License instead.)  You can apply it to
 | 
			
		||||
the GNU Lesser General Public License instead.)  You can apply it to
 | 
			
		||||
your programs, too.
 | 
			
		||||
 | 
			
		||||
  When we speak of free software, we are referring to freedom, not
 | 
			
		||||
@@ -55,7 +55,7 @@ patent must be licensed for everyone's free use or not licensed at all.
 | 
			
		||||
 | 
			
		||||
  The precise terms and conditions for copying, distribution and
 | 
			
		||||
modification follow.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		    GNU GENERAL PUBLIC LICENSE
 | 
			
		||||
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 | 
			
		||||
 | 
			
		||||
@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
 | 
			
		||||
    License.  (Exception: if the Program itself is interactive but
 | 
			
		||||
    does not normally print such an announcement, your work based on
 | 
			
		||||
    the Program is not required to print an announcement.)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
These requirements apply to the modified work as a whole.  If
 | 
			
		||||
identifiable sections of that work are not derived from the Program,
 | 
			
		||||
and can be reasonably considered independent and separate works in
 | 
			
		||||
@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
 | 
			
		||||
access to copy the source code from the same place counts as
 | 
			
		||||
distribution of the source code, even though third parties are not
 | 
			
		||||
compelled to copy the source along with the object code.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  4. You may not copy, modify, sublicense, or distribute the Program
 | 
			
		||||
except as expressly provided under this License.  Any attempt
 | 
			
		||||
otherwise to copy, modify, sublicense or distribute the Program is
 | 
			
		||||
@@ -225,7 +225,7 @@ impose that choice.
 | 
			
		||||
 | 
			
		||||
This section is intended to make thoroughly clear what is believed to
 | 
			
		||||
be a consequence of the rest of this License.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  8. If the distribution and/or use of the Program is restricted in
 | 
			
		||||
certain countries either by patents or by copyrighted interfaces, the
 | 
			
		||||
original copyright holder who places the Program under this License
 | 
			
		||||
@@ -278,7 +278,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
 | 
			
		||||
POSSIBILITY OF SUCH DAMAGES.
 | 
			
		||||
 | 
			
		||||
		     END OF TERMS AND CONDITIONS
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	    How to Apply These Terms to Your New Programs
 | 
			
		||||
 | 
			
		||||
  If you develop a new program, and you want it to be of the greatest
 | 
			
		||||
@@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
 | 
			
		||||
 | 
			
		||||
    You should have received a copy of the GNU General Public License
 | 
			
		||||
    along with this program; if not, write to the Free Software
 | 
			
		||||
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
			
		||||
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Also add information on how to contact you by electronic and paper mail.
 | 
			
		||||
@@ -336,5 +336,5 @@ necessary.  Here is a sample; alter the names:
 | 
			
		||||
This General Public License does not permit incorporating your program into
 | 
			
		||||
proprietary programs.  If your program is a subroutine library, you may
 | 
			
		||||
consider it more useful to permit linking proprietary applications with the
 | 
			
		||||
library.  If this is what you want to do, use the GNU Library General
 | 
			
		||||
library.  If this is what you want to do, use the GNU Lesser General
 | 
			
		||||
Public License instead of this License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
#
 | 
			
		||||
# Makefile for a Video Disk Recorder plugin
 | 
			
		||||
#
 | 
			
		||||
# $Id: Makefile 1.4 2006/04/16 09:04:04 kls Exp $
 | 
			
		||||
# $Id: Makefile 1.5 2006/04/22 10:00:03 kls Exp $
 | 
			
		||||
 | 
			
		||||
# The official name of this plugin.
 | 
			
		||||
# This name will be used in the '-P...' option of VDR to load the plugin.
 | 
			
		||||
@@ -30,7 +30,7 @@ TMPDIR = /tmp
 | 
			
		||||
 | 
			
		||||
### The version number of VDR's plugin API (taken from VDR's "config.h"):
 | 
			
		||||
 | 
			
		||||
APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
 | 
			
		||||
APIVERSION = $(shell sed -ne '/define APIVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' $(VDRDIR)/config.h)
 | 
			
		||||
 | 
			
		||||
### The name of the distribution archive:
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
		       Version 2, June 1991
 | 
			
		||||
 | 
			
		||||
 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
 | 
			
		||||
                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
			
		||||
 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 | 
			
		||||
 Everyone is permitted to copy and distribute verbatim copies
 | 
			
		||||
 of this license document, but changing it is not allowed.
 | 
			
		||||
 | 
			
		||||
@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users.  This
 | 
			
		||||
General Public License applies to most of the Free Software
 | 
			
		||||
Foundation's software and to any other program whose authors commit to
 | 
			
		||||
using it.  (Some other Free Software Foundation software is covered by
 | 
			
		||||
the GNU Library General Public License instead.)  You can apply it to
 | 
			
		||||
the GNU Lesser General Public License instead.)  You can apply it to
 | 
			
		||||
your programs, too.
 | 
			
		||||
 | 
			
		||||
  When we speak of free software, we are referring to freedom, not
 | 
			
		||||
@@ -55,7 +55,7 @@ patent must be licensed for everyone's free use or not licensed at all.
 | 
			
		||||
 | 
			
		||||
  The precise terms and conditions for copying, distribution and
 | 
			
		||||
modification follow.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		    GNU GENERAL PUBLIC LICENSE
 | 
			
		||||
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 | 
			
		||||
 | 
			
		||||
@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
 | 
			
		||||
    License.  (Exception: if the Program itself is interactive but
 | 
			
		||||
    does not normally print such an announcement, your work based on
 | 
			
		||||
    the Program is not required to print an announcement.)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
These requirements apply to the modified work as a whole.  If
 | 
			
		||||
identifiable sections of that work are not derived from the Program,
 | 
			
		||||
and can be reasonably considered independent and separate works in
 | 
			
		||||
@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
 | 
			
		||||
access to copy the source code from the same place counts as
 | 
			
		||||
distribution of the source code, even though third parties are not
 | 
			
		||||
compelled to copy the source along with the object code.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  4. You may not copy, modify, sublicense, or distribute the Program
 | 
			
		||||
except as expressly provided under this License.  Any attempt
 | 
			
		||||
otherwise to copy, modify, sublicense or distribute the Program is
 | 
			
		||||
@@ -225,7 +225,7 @@ impose that choice.
 | 
			
		||||
 | 
			
		||||
This section is intended to make thoroughly clear what is believed to
 | 
			
		||||
be a consequence of the rest of this License.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  8. If the distribution and/or use of the Program is restricted in
 | 
			
		||||
certain countries either by patents or by copyrighted interfaces, the
 | 
			
		||||
original copyright holder who places the Program under this License
 | 
			
		||||
@@ -278,7 +278,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
 | 
			
		||||
POSSIBILITY OF SUCH DAMAGES.
 | 
			
		||||
 | 
			
		||||
		     END OF TERMS AND CONDITIONS
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	    How to Apply These Terms to Your New Programs
 | 
			
		||||
 | 
			
		||||
  If you develop a new program, and you want it to be of the greatest
 | 
			
		||||
@@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
 | 
			
		||||
 | 
			
		||||
    You should have received a copy of the GNU General Public License
 | 
			
		||||
    along with this program; if not, write to the Free Software
 | 
			
		||||
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
			
		||||
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Also add information on how to contact you by electronic and paper mail.
 | 
			
		||||
@@ -336,5 +336,5 @@ necessary.  Here is a sample; alter the names:
 | 
			
		||||
This General Public License does not permit incorporating your program into
 | 
			
		||||
proprietary programs.  If your program is a subroutine library, you may
 | 
			
		||||
consider it more useful to permit linking proprietary applications with the
 | 
			
		||||
library.  If this is what you want to do, use the GNU Library General
 | 
			
		||||
library.  If this is what you want to do, use the GNU Lesser General
 | 
			
		||||
Public License instead of this License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
#
 | 
			
		||||
# Makefile for a Video Disk Recorder plugin
 | 
			
		||||
#
 | 
			
		||||
# $Id: Makefile 1.6 2006/04/16 09:04:06 kls Exp $
 | 
			
		||||
# $Id: Makefile 1.7 2006/04/22 10:00:17 kls Exp $
 | 
			
		||||
 | 
			
		||||
# The official name of this plugin.
 | 
			
		||||
# This name will be used in the '-P...' option of VDR to load the plugin.
 | 
			
		||||
@@ -30,7 +30,7 @@ TMPDIR = /tmp
 | 
			
		||||
 | 
			
		||||
### The version number of VDR's plugin API (taken from VDR's "config.h"):
 | 
			
		||||
 | 
			
		||||
APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
 | 
			
		||||
APIVERSION = $(shell sed -ne '/define APIVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' $(VDRDIR)/config.h)
 | 
			
		||||
 | 
			
		||||
### The name of the distribution archive:
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
		       Version 2, June 1991
 | 
			
		||||
 | 
			
		||||
 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
 | 
			
		||||
                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
			
		||||
 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 | 
			
		||||
 Everyone is permitted to copy and distribute verbatim copies
 | 
			
		||||
 of this license document, but changing it is not allowed.
 | 
			
		||||
 | 
			
		||||
@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users.  This
 | 
			
		||||
General Public License applies to most of the Free Software
 | 
			
		||||
Foundation's software and to any other program whose authors commit to
 | 
			
		||||
using it.  (Some other Free Software Foundation software is covered by
 | 
			
		||||
the GNU Library General Public License instead.)  You can apply it to
 | 
			
		||||
the GNU Lesser General Public License instead.)  You can apply it to
 | 
			
		||||
your programs, too.
 | 
			
		||||
 | 
			
		||||
  When we speak of free software, we are referring to freedom, not
 | 
			
		||||
@@ -55,7 +55,7 @@ patent must be licensed for everyone's free use or not licensed at all.
 | 
			
		||||
 | 
			
		||||
  The precise terms and conditions for copying, distribution and
 | 
			
		||||
modification follow.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		    GNU GENERAL PUBLIC LICENSE
 | 
			
		||||
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 | 
			
		||||
 | 
			
		||||
@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
 | 
			
		||||
    License.  (Exception: if the Program itself is interactive but
 | 
			
		||||
    does not normally print such an announcement, your work based on
 | 
			
		||||
    the Program is not required to print an announcement.)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
These requirements apply to the modified work as a whole.  If
 | 
			
		||||
identifiable sections of that work are not derived from the Program,
 | 
			
		||||
and can be reasonably considered independent and separate works in
 | 
			
		||||
@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
 | 
			
		||||
access to copy the source code from the same place counts as
 | 
			
		||||
distribution of the source code, even though third parties are not
 | 
			
		||||
compelled to copy the source along with the object code.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  4. You may not copy, modify, sublicense, or distribute the Program
 | 
			
		||||
except as expressly provided under this License.  Any attempt
 | 
			
		||||
otherwise to copy, modify, sublicense or distribute the Program is
 | 
			
		||||
@@ -225,7 +225,7 @@ impose that choice.
 | 
			
		||||
 | 
			
		||||
This section is intended to make thoroughly clear what is believed to
 | 
			
		||||
be a consequence of the rest of this License.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  8. If the distribution and/or use of the Program is restricted in
 | 
			
		||||
certain countries either by patents or by copyrighted interfaces, the
 | 
			
		||||
original copyright holder who places the Program under this License
 | 
			
		||||
@@ -278,7 +278,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
 | 
			
		||||
POSSIBILITY OF SUCH DAMAGES.
 | 
			
		||||
 | 
			
		||||
		     END OF TERMS AND CONDITIONS
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	    How to Apply These Terms to Your New Programs
 | 
			
		||||
 | 
			
		||||
  If you develop a new program, and you want it to be of the greatest
 | 
			
		||||
@@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
 | 
			
		||||
 | 
			
		||||
    You should have received a copy of the GNU General Public License
 | 
			
		||||
    along with this program; if not, write to the Free Software
 | 
			
		||||
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
			
		||||
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Also add information on how to contact you by electronic and paper mail.
 | 
			
		||||
@@ -336,5 +336,5 @@ necessary.  Here is a sample; alter the names:
 | 
			
		||||
This General Public License does not permit incorporating your program into
 | 
			
		||||
proprietary programs.  If your program is a subroutine library, you may
 | 
			
		||||
consider it more useful to permit linking proprietary applications with the
 | 
			
		||||
library.  If this is what you want to do, use the GNU Library General
 | 
			
		||||
library.  If this is what you want to do, use the GNU Lesser General
 | 
			
		||||
Public License instead of this License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
#
 | 
			
		||||
# Makefile for a Video Disk Recorder plugin
 | 
			
		||||
#
 | 
			
		||||
# $Id: Makefile 1.10 2006/04/16 09:04:10 kls Exp $
 | 
			
		||||
# $Id: Makefile 1.11 2006/04/22 10:00:24 kls Exp $
 | 
			
		||||
 | 
			
		||||
# The official name of this plugin.
 | 
			
		||||
# This name will be used in the '-P...' option of VDR to load the plugin.
 | 
			
		||||
@@ -30,7 +30,7 @@ TMPDIR = /tmp
 | 
			
		||||
 | 
			
		||||
### The version number of VDR's plugin API (taken from VDR's "config.h"):
 | 
			
		||||
 | 
			
		||||
APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
 | 
			
		||||
APIVERSION = $(shell sed -ne '/define APIVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' $(VDRDIR)/config.h)
 | 
			
		||||
 | 
			
		||||
### The name of the distribution archive:
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
		       Version 2, June 1991
 | 
			
		||||
 | 
			
		||||
 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
 | 
			
		||||
                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
			
		||||
 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 | 
			
		||||
 Everyone is permitted to copy and distribute verbatim copies
 | 
			
		||||
 of this license document, but changing it is not allowed.
 | 
			
		||||
 | 
			
		||||
@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users.  This
 | 
			
		||||
General Public License applies to most of the Free Software
 | 
			
		||||
Foundation's software and to any other program whose authors commit to
 | 
			
		||||
using it.  (Some other Free Software Foundation software is covered by
 | 
			
		||||
the GNU Library General Public License instead.)  You can apply it to
 | 
			
		||||
the GNU Lesser General Public License instead.)  You can apply it to
 | 
			
		||||
your programs, too.
 | 
			
		||||
 | 
			
		||||
  When we speak of free software, we are referring to freedom, not
 | 
			
		||||
@@ -55,7 +55,7 @@ patent must be licensed for everyone's free use or not licensed at all.
 | 
			
		||||
 | 
			
		||||
  The precise terms and conditions for copying, distribution and
 | 
			
		||||
modification follow.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		    GNU GENERAL PUBLIC LICENSE
 | 
			
		||||
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 | 
			
		||||
 | 
			
		||||
@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
 | 
			
		||||
    License.  (Exception: if the Program itself is interactive but
 | 
			
		||||
    does not normally print such an announcement, your work based on
 | 
			
		||||
    the Program is not required to print an announcement.)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
These requirements apply to the modified work as a whole.  If
 | 
			
		||||
identifiable sections of that work are not derived from the Program,
 | 
			
		||||
and can be reasonably considered independent and separate works in
 | 
			
		||||
@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
 | 
			
		||||
access to copy the source code from the same place counts as
 | 
			
		||||
distribution of the source code, even though third parties are not
 | 
			
		||||
compelled to copy the source along with the object code.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  4. You may not copy, modify, sublicense, or distribute the Program
 | 
			
		||||
except as expressly provided under this License.  Any attempt
 | 
			
		||||
otherwise to copy, modify, sublicense or distribute the Program is
 | 
			
		||||
@@ -225,7 +225,7 @@ impose that choice.
 | 
			
		||||
 | 
			
		||||
This section is intended to make thoroughly clear what is believed to
 | 
			
		||||
be a consequence of the rest of this License.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  8. If the distribution and/or use of the Program is restricted in
 | 
			
		||||
certain countries either by patents or by copyrighted interfaces, the
 | 
			
		||||
original copyright holder who places the Program under this License
 | 
			
		||||
@@ -278,7 +278,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
 | 
			
		||||
POSSIBILITY OF SUCH DAMAGES.
 | 
			
		||||
 | 
			
		||||
		     END OF TERMS AND CONDITIONS
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	    How to Apply These Terms to Your New Programs
 | 
			
		||||
 | 
			
		||||
  If you develop a new program, and you want it to be of the greatest
 | 
			
		||||
@@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
 | 
			
		||||
 | 
			
		||||
    You should have received a copy of the GNU General Public License
 | 
			
		||||
    along with this program; if not, write to the Free Software
 | 
			
		||||
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
			
		||||
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Also add information on how to contact you by electronic and paper mail.
 | 
			
		||||
@@ -336,5 +336,5 @@ necessary.  Here is a sample; alter the names:
 | 
			
		||||
This General Public License does not permit incorporating your program into
 | 
			
		||||
proprietary programs.  If your program is a subroutine library, you may
 | 
			
		||||
consider it more useful to permit linking proprietary applications with the
 | 
			
		||||
library.  If this is what you want to do, use the GNU Library General
 | 
			
		||||
library.  If this is what you want to do, use the GNU Lesser General
 | 
			
		||||
Public License instead of this License.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
#
 | 
			
		||||
# Makefile for a Video Disk Recorder plugin
 | 
			
		||||
#
 | 
			
		||||
# $Id: Makefile 1.4 2006/04/16 09:04:13 kls Exp $
 | 
			
		||||
# $Id: Makefile 1.5 2006/04/22 10:00:32 kls Exp $
 | 
			
		||||
 | 
			
		||||
# The official name of this plugin.
 | 
			
		||||
# This name will be used in the '-P...' option of VDR to load the plugin.
 | 
			
		||||
@@ -30,7 +30,7 @@ TMPDIR = /tmp
 | 
			
		||||
 | 
			
		||||
### The version number of VDR's plugin API (taken from VDR's "config.h"):
 | 
			
		||||
 | 
			
		||||
APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
 | 
			
		||||
APIVERSION = $(shell sed -ne '/define APIVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' $(VDRDIR)/config.h)
 | 
			
		||||
 | 
			
		||||
### The name of the distribution archive:
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								README
									
									
									
									
									
								
							@@ -29,7 +29,7 @@ video disk recorder, based upon open standards and freely available
 | 
			
		||||
driver software (of course, the hardware still has to be bought).
 | 
			
		||||
 | 
			
		||||
The on screen menu system is simple, but shall provide all the
 | 
			
		||||
possibilites necessary to perform timer controlled recording,
 | 
			
		||||
possibilities necessary to perform timer controlled recording,
 | 
			
		||||
file management and even "on disk editing". The menus
 | 
			
		||||
of commercial set-top boxes usually are a lot more fancy than
 | 
			
		||||
the ones in this system, but here we have the full source code
 | 
			
		||||
 
 | 
			
		||||
@@ -1,82 +0,0 @@
 | 
			
		||||
Version 1.3.0 marks the beginning of a new developer version
 | 
			
		||||
of VDR, in which I am going to integrate functionality from
 | 
			
		||||
patches that have been written by various people for previous
 | 
			
		||||
versions of VDR.
 | 
			
		||||
 | 
			
		||||
IMPORTANT NOTE: Beginning with version 1.3.0, VDR will automatically
 | 
			
		||||
=============== modify the 'channels.conf' file. Please run this version
 | 
			
		||||
                of VDR in a controlled environment only, and work with
 | 
			
		||||
                copies of all your config files!
 | 
			
		||||
 | 
			
		||||
This version of VDR focuses on some improvements regarding
 | 
			
		||||
CAM support and, most important, the first step towards automatic
 | 
			
		||||
PID handling. Some things are still in a raw state, but at least
 | 
			
		||||
the program should now dynamically react on any changes in the
 | 
			
		||||
channel settings.
 | 
			
		||||
 | 
			
		||||
Here's a list of the highlights - and what _not_ to expect yet
 | 
			
		||||
(but don't worry, these things will come soon ;-):
 | 
			
		||||
 | 
			
		||||
- Automatic switching when PIDs are changed (e.g. for regional
 | 
			
		||||
  programmes).
 | 
			
		||||
- There is no explicit transponder list yet, so you just
 | 
			
		||||
  have to define one channel for a new transponder and VDR
 | 
			
		||||
  will automatically detect all other channels on that transponder.
 | 
			
		||||
- New channels are added to the end of the channel list, so
 | 
			
		||||
  it might be a good idea to add a line like
 | 
			
		||||
 | 
			
		||||
  :@1000 New channels
 | 
			
		||||
 | 
			
		||||
  to have them start at some high number.
 | 
			
		||||
- Improved CAM support. Channels with conditional access now automatically
 | 
			
		||||
  use the device that contains the proper CAM.
 | 
			
		||||
- No NVOD support yet.
 | 
			
		||||
 | 
			
		||||
Note that this is currently work in progress, so there may be some
 | 
			
		||||
areas that don't work as smooth as expected, yet.
 | 
			
		||||
 | 
			
		||||
Known issues:
 | 
			
		||||
=============
 | 
			
		||||
 | 
			
		||||
- The Setup/CICAM menu is currently without much meaning.
 | 
			
		||||
  CA detection is done automatically.
 | 
			
		||||
- The channel "EURO1080" on Astra 19.2E currently broadcasts HDTV
 | 
			
		||||
  test signals. Unfortunately, the full featured DVB cards crash
 | 
			
		||||
  pretty ugly when tuned to that channel, so it might be a good idea
 | 
			
		||||
  to have the channel definition
 | 
			
		||||
 | 
			
		||||
  EURO1080:12168:v:S19.2E:27500:308:256:0:FF:21100:1:1088:0
 | 
			
		||||
 | 
			
		||||
  in your 'channels.conf' file. Note the Ca parameter 'FF' (255 in hex),
 | 
			
		||||
  which gives this channel a non-existent Ca mode, so that it won't
 | 
			
		||||
  be tuned to at all. If you really want to tune to this channel for
 | 
			
		||||
  tests, do it on your own risk.
 | 
			
		||||
- The 'sky' plugin now temporarily uses Ca value 30 (this will be changed
 | 
			
		||||
  later).
 | 
			
		||||
- Since the CA detection is now done automatically, a timer that starts
 | 
			
		||||
  immediately after VDR has been launched and wants to record a CA channel
 | 
			
		||||
  may not work. This will be changed later to make this work safely.
 | 
			
		||||
 | 
			
		||||
What to test:
 | 
			
		||||
=============
 | 
			
		||||
 | 
			
		||||
Apart from the usual general functionality, special attention should
 | 
			
		||||
be given to the following matters:
 | 
			
		||||
 | 
			
		||||
- Does the automatic PID switching really work in all cases, especially
 | 
			
		||||
  in conjunction with conditional access channels?
 | 
			
		||||
- Does CAM support work for all kinds of CAMs?
 | 
			
		||||
 | 
			
		||||
Known bugs:
 | 
			
		||||
===========
 | 
			
		||||
 | 
			
		||||
- Sometimes a new channel is created with the wrong 'source'
 | 
			
		||||
  parameter. This presumably happens when the transponder and source
 | 
			
		||||
  are switched, and there is still an SDT data packet being processed.
 | 
			
		||||
  The call to device->HasLock() in sections.c should fix this (and it
 | 
			
		||||
  apparently does for most cases), but there must still be soemthing
 | 
			
		||||
  wrong in that area. This may be fixed in 1.3.1 - please report if
 | 
			
		||||
  it does still happen there.
 | 
			
		||||
- Sometimes the current channel gets re-tuned even though the channel
 | 
			
		||||
  data of this channel didn't change (but that of an other channel did
 | 
			
		||||
  change).
 | 
			
		||||
							
								
								
									
										137
									
								
								README.vps
									
									
									
									
									
								
							
							
						
						
									
										137
									
								
								README.vps
									
									
									
									
									
								
							@@ -1,137 +0,0 @@
 | 
			
		||||
VPS (Video Programming Service)
 | 
			
		||||
===============================
 | 
			
		||||
 | 
			
		||||
Beginning with version 1.3.5 VDR supports the VPS method
 | 
			
		||||
of identifying programmes to record, and making sure they
 | 
			
		||||
are recorded in full length, even if they run longer than
 | 
			
		||||
initially specified or are shifted in time.
 | 
			
		||||
 | 
			
		||||
Of course, the main prerequisite for this to work is that
 | 
			
		||||
the broadcasters actually provide the necessary data. In
 | 
			
		||||
particular these are
 | 
			
		||||
 | 
			
		||||
- EPG data (well, obviously)
 | 
			
		||||
- the data for each event must contain the "Programme Identification Label"
 | 
			
		||||
  descriptor, which contains the VPS timestamp for this programme
 | 
			
		||||
- the event data must provide and maintain the "Running Status" flag,
 | 
			
		||||
  which indicates whether this programme is currently running or not.
 | 
			
		||||
 | 
			
		||||
Currently only the German "<22>ffentlich Rechtliche" tv stations provide
 | 
			
		||||
the necessary VPS data, so this will work only for stations like "Das Erste",
 | 
			
		||||
"ZDF" and the like.
 | 
			
		||||
 | 
			
		||||
Following is a step by step description of what happens for a VPS controlled
 | 
			
		||||
timer recording. First let's take a look at what the VDR user needs to do.
 | 
			
		||||
 | 
			
		||||
VPS as seen by the VDR user:
 | 
			
		||||
----------------------------
 | 
			
		||||
 | 
			
		||||
When the VDR user sets up a timer that shall be under VPS control, there
 | 
			
		||||
are only two things that need to be done:
 | 
			
		||||
 | 
			
		||||
1. Set the "Start" time to the actual VPS time as published in tv magazines.
 | 
			
		||||
   Typically the VPS time is the same as the printed start time, unless
 | 
			
		||||
   expliciltly specified otherwise. For instance, a tv magazine might print
 | 
			
		||||
 | 
			
		||||
   20:15 Wetten, dass...?
 | 
			
		||||
         (VPS = 20:14)
 | 
			
		||||
 | 
			
		||||
   In this case the timer would need to be set to 20:14.
 | 
			
		||||
 | 
			
		||||
2. Set the "VPS" flag in the timer definition to "yes" in order to tell VDR
 | 
			
		||||
   that this timer is to be handled under VPS control. This is no different
 | 
			
		||||
   to old analog video recorders, where each timer has also had a separate
 | 
			
		||||
   VPS flag.
 | 
			
		||||
 | 
			
		||||
If the user sets up a timer from the "Schedule" menu, things are even simpler.
 | 
			
		||||
If the setup option "Recording/Use VPS" is set to "yes", any timer that is
 | 
			
		||||
programmed from an event that has VPS information will automatically be set
 | 
			
		||||
up as a VPS timer.
 | 
			
		||||
 | 
			
		||||
IMPORTANT: In order for a recording to work under VPS control it is of
 | 
			
		||||
========== paramount importance that the start time is set to the actual
 | 
			
		||||
           VPS time of that event, NOT some time a few minutes before the
 | 
			
		||||
           event starts! If a timer is set to use VPS, and the time doesn't
 | 
			
		||||
           match any event's VPS time, nothing will be recorded!
 | 
			
		||||
 | 
			
		||||
VPS as seen by VDR:
 | 
			
		||||
-------------------
 | 
			
		||||
 | 
			
		||||
The following things happen when VDR processes timers:
 | 
			
		||||
 | 
			
		||||
- VDR regularly scans the EPG data and assigns events to the timers (see
 | 
			
		||||
  cTimers::SetEvents() in VDR/timers.c).
 | 
			
		||||
  This can be seen in the log file as
 | 
			
		||||
 | 
			
		||||
  timer 1 (15 1830-1900 'Neues') set to event 28.02.2004 18:30-18:59 (VPS: 28.02 18:30) 'neues'
 | 
			
		||||
 | 
			
		||||
- When a VPS timer is asked whether it matches (i.e. whether a recording shall
 | 
			
		||||
  be started), it checks whether it has an event assigned to it, and whether
 | 
			
		||||
  that event has a running status of "starts in a few seconds" or "running"
 | 
			
		||||
  (see cTimer::Matches(time_t t, bool Directly) in VDR/timers.c). This allows
 | 
			
		||||
  the recording process to catch the entire programme, even if it runs longer
 | 
			
		||||
  than initially advertised. It also works if it runs shorter or gets shifted.
 | 
			
		||||
 | 
			
		||||
- When a VPS timer event is coming up (i.e. there are only a few minutes until
 | 
			
		||||
  it starts, according to the related event data's start time - which may be
 | 
			
		||||
  different than the VPS time!), VDR tunes a free DVB device to that transponder
 | 
			
		||||
  (unless there is already a device tuned to that one) in order to make sure
 | 
			
		||||
  that the event data (especially the "Running Status") will be up to date and
 | 
			
		||||
  a change in the "Running status" flag will be seen immediately. This may
 | 
			
		||||
  lead to the primary device being switched to a different channel if there
 | 
			
		||||
  is no other free DVB device available. See the main program loop in VDR/vdr.c,
 | 
			
		||||
  "Make sure VPS timers "see" their channel early enough:".
 | 
			
		||||
 | 
			
		||||
Problems:
 | 
			
		||||
---------
 | 
			
		||||
 | 
			
		||||
- In order for a VPS controlled timer to function properly, it needs to "see"
 | 
			
		||||
  any changes in the running status of its event. This means that one of the
 | 
			
		||||
  DVB devices needs to be tuned to the proper transponder some time before
 | 
			
		||||
  the actual start time of the event. However, this may result in an other
 | 
			
		||||
  timer (with lower priority) to be stopped, because it occupies the DVB device
 | 
			
		||||
  and has it tuned to a different transponder.
 | 
			
		||||
  See "// Make sure VPS timers "see" their channel early enough:" in VDR/vdr.c.
 | 
			
		||||
TODO:
 | 
			
		||||
  Something needs to be done to prevent two timers from repeatedly switching
 | 
			
		||||
  the device between channels in such a situation.
 | 
			
		||||
 | 
			
		||||
- If, for some reason, the driver doesn't deliver any more section data, a
 | 
			
		||||
  VPS controlled timer will never see that the programme has started (or ended).
 | 
			
		||||
TODO:
 | 
			
		||||
  Therefore some mechanism needs to be implemented that makes absolutely sure
 | 
			
		||||
  we continuously receive at least the event data for the present event.
 | 
			
		||||
 | 
			
		||||
Caveats:
 | 
			
		||||
--------
 | 
			
		||||
 | 
			
		||||
Apparently VPS in digital broadcasting is still in an early state. Only few
 | 
			
		||||
tv stations actually support it, and other tv stations don't even handle the
 | 
			
		||||
"Running Status" correctly (which, by itself, would already be helpful, even
 | 
			
		||||
without VPS).
 | 
			
		||||
 | 
			
		||||
Here's a list of things that are apparently done wrong by the individual
 | 
			
		||||
stations:
 | 
			
		||||
 | 
			
		||||
- The German "<22>ffentlich Rechtliche" tv stations, although supporting VPS,
 | 
			
		||||
  don't switch the "Running Status" of an upcoming broadcast to "starts in
 | 
			
		||||
  a few seconds", but rather go directly from "unknown" or "not running" to
 | 
			
		||||
  "running". This may result in a recording that misses the first few seconds
 | 
			
		||||
  of the programme.
 | 
			
		||||
- The RTL group handles EPG events in a rather random way. They change event
 | 
			
		||||
  IDs randomly, and switch the "Running Status" flag at times that are only
 | 
			
		||||
  losely related to the actual events. For instance, if the "RTL aktuell"
 | 
			
		||||
  programme starts at 18:45, they switch that event to "running" at about
 | 
			
		||||
  18:43. Or, even worse, if "Wer wird Million<6F>r?" runs until 21:15, they
 | 
			
		||||
  switch the _next_ programme to running (which implicitly set "Wer wird
 | 
			
		||||
  Million<6F>r?" to "not running) at around 21:11 - so anybody using that
 | 
			
		||||
  information to control recording would not see the end of that programme.
 | 
			
		||||
 | 
			
		||||
... more following as it comes up...
 | 
			
		||||
 | 
			
		||||
Contact:
 | 
			
		||||
--------
 | 
			
		||||
 | 
			
		||||
ARD Digital: http://www.ard-digital.de/home/index.php?id=16&languageid=1
 | 
			
		||||
ZDF vision:  http://www.zdf.de/ZDFde/inhalt/1/0,1872,1021601,00.html (select "zdfvision")
 | 
			
		||||
             phone: 06131/706754
 | 
			
		||||
							
								
								
									
										25
									
								
								UPDATE-1.4.0
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								UPDATE-1.4.0
									
									
									
									
									
								
							@@ -5,10 +5,20 @@ have been made "behind the scenes".
 | 
			
		||||
 | 
			
		||||
See the file HISTORY for a detailed list of all changes.
 | 
			
		||||
 | 
			
		||||
Video Programming System (VPS):
 | 
			
		||||
 | 
			
		||||
- Implemented handling the VPS timestamps (aka "Programme Identification Label")
 | 
			
		||||
  for full VPS support for timers (provided the tv stations actually broadcast
 | 
			
		||||
  this information). The VPS time is displayed in the event info page if it exists
 | 
			
		||||
  and is different than the event's start time.
 | 
			
		||||
- Timers can now be set to use the VPS information to control recording a programme.
 | 
			
		||||
  The new setup options "Recording/Use VPS" and "Recording/VPS margin", as well as
 | 
			
		||||
  the "VPS" option in the individual timers, can be used to control this feature
 | 
			
		||||
 | 
			
		||||
Plugins:
 | 
			
		||||
 | 
			
		||||
- The new function cPlugin::Stop() shall be used to stop any background activities
 | 
			
		||||
  of a plugin. Previously this was done in the plugin's desctructor, but it is
 | 
			
		||||
  of a plugin. Previously this was done in the plugin's destructor, but it is
 | 
			
		||||
  better to do this in a dedicated function that can be called early when shutting
 | 
			
		||||
  down.
 | 
			
		||||
- Added 'Service' functions to the plugin interface.
 | 
			
		||||
@@ -121,7 +131,7 @@ OSD:
 | 
			
		||||
  the small font.
 | 
			
		||||
- The new OSD setup parameters "Left" and "Top" can be used to define the top left
 | 
			
		||||
  corner of the OSD.
 | 
			
		||||
- The OSD size prameters are now in pixel (as opposed to formerly characters).
 | 
			
		||||
- The OSD size parameters are now in pixel (as opposed to formerly characters).
 | 
			
		||||
  When reading a 'setup.conf' file from an older version of VDR, the OSDwidth
 | 
			
		||||
  and OSDheight values will be converted to pixel automatically.
 | 
			
		||||
- The OSD is now fully device independent. See the comments in VDR/osd.h and the
 | 
			
		||||
@@ -177,7 +187,7 @@ Timers:
 | 
			
		||||
 | 
			
		||||
- The '0' key now toggles the "Day" item in the "Timers" menu between "single
 | 
			
		||||
  shot" and "repeating". The keys '1'...'7' can be used to toggle the individual
 | 
			
		||||
  days ('1' is monday).
 | 
			
		||||
  days ('1' is Monday).
 | 
			
		||||
- The day of a timer is now stored as a full date in ISO notation ("YYYY-MM-DD") in
 | 
			
		||||
  'timers.conf' and for the result of the SVDRP command LSTT
 | 
			
		||||
- The timer status now has a new bit that is set when that timer is currently
 | 
			
		||||
@@ -205,13 +215,6 @@ Timers:
 | 
			
		||||
 | 
			
		||||
Recording:
 | 
			
		||||
 | 
			
		||||
- Implemented handling the VPS timestamps (aka "Programme Identification Label")
 | 
			
		||||
  for full VPS support for timers (provided the tv stations actually broadcast
 | 
			
		||||
  this information). The VPS time is displayed in the event info page if it exists
 | 
			
		||||
  and is different than the event's start time.
 | 
			
		||||
- Timers can now be set to use the VPS information to control recording a programme.
 | 
			
		||||
  The new setup options "Recording/Use VPS" and "Recording/VPS margin", as well as
 | 
			
		||||
  the "VPS" option in the individual timers, can be used to control this feature
 | 
			
		||||
- Now preferring budget cards when selecting a DVB device for recording.
 | 
			
		||||
- The file 'summary.vdr' has been replaced with 'info.vdr' and now contains the
 | 
			
		||||
  information about a recording, in the same format as the events are stored in
 | 
			
		||||
@@ -267,7 +270,7 @@ Audio:
 | 
			
		||||
- The "Left" and "Right" keys in the "Audio" menu can be used to switch between
 | 
			
		||||
  the left and right stereo channels in case there are different audio tracks
 | 
			
		||||
  in these channels.
 | 
			
		||||
- The setup option "Recording/Record Dobly Digital" has been renamed and moved to
 | 
			
		||||
- The setup option "Recording/Record Dolby Digital" has been renamed and moved to
 | 
			
		||||
  "DVB/Use Dolby Digital". It now controls whether Dolby Digital is recorded and
 | 
			
		||||
  whether an available DD audio track will appear in the "Audio" menu.
 | 
			
		||||
- Recording and Transfer Mode now handle more than 2 audio PIDs.
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@ ZDF;ZDFvision:11953:hC34:S19.2E:27500:110:120=deu,121=2ch;125=dd:130:0:28006:1:1
 | 
			
		||||
3sat;ZDFvision:11953:hC34:S19.2E:27500:210:220=deu,221=2ch;225=dd:230:0:28007:1:1079:0
 | 
			
		||||
KiKa;ZDFvision:11953:hC34:S19.2E:27500:310:320=deu:330:0:28008:1:1079:0
 | 
			
		||||
arte;ARD:11836:hC34:S19.2E:27500:401:402=deu,403=fra:404:0:28109:1:1101:0
 | 
			
		||||
ORF1;ORF:12692:hC56:S19.2E:22000:160:161=deu;163=deu:165:1762,D05,1702,1801:13001:1:1117:0
 | 
			
		||||
ORF2;ORF:12692:hC56:S19.2E:22000:500:501=deu;503=deu:505:1762,D05,1702,1801:13002:1:1117:0
 | 
			
		||||
ORF1;ORF:12692:hC56:S19.2E:22000:160:161=deu;163=deu:165:1762,D05,1801,1702:13001:1:1117:0
 | 
			
		||||
ORF2;ORF:12692:hC56:S19.2E:22000:500:501=deu;503=deu:505:1762,D05,1801,1702:13002:1:1117:0
 | 
			
		||||
ZDFinfokanal;ZDFvision:11953:hC34:S19.2E:27500:610:620=deu:130:0:28011:1:1079:0
 | 
			
		||||
CNN Int.;CNN:11778:vC34:S19.2E:27500:165:100=eng:47:0:28522:1:1068:0
 | 
			
		||||
Super RTL,S RTL;RTL World:12187:hC34:S19.2E:27500:165:120=deu:65:0:12040:1:1089:0
 | 
			
		||||
@@ -28,7 +28,7 @@ DSF;BetaDigital:12480:vC34:S19.2E:27500:1023:1024=deu:39:0:900:133:33:0
 | 
			
		||||
HSE24,HSE24;BetaDigital:12480:vC34:S19.2E:27500:1279:1280=deu:37:0:40:133:33:0
 | 
			
		||||
Bloomberg TV Germany;Bloomberg:12551:vC56:S19.2E:22000:162:99=deu:0:0:12160:1:1108:0
 | 
			
		||||
EURONEWS;CSAT:11817:vC34:S19.2E:27500:163:92=fra,91=rus,93=eng,94=ita,95=esl,98=por,99=deu:0:0:8004:1:1070:0
 | 
			
		||||
rbb Brandenburg;ARD:12109:hC34:S19.2E:27500:501:502=deu:504:0:28205:1:1073:0
 | 
			
		||||
rbb Brandenburg;ARD:12109:hC34:S19.2E:27500:601:602=deu:604:0:28205:1:1073:0
 | 
			
		||||
Sky News;BT:11597:vC56:S19.2E:22000:305+131:306=eng:0:0:28707:1:1026:0
 | 
			
		||||
Veronica/JETIX;CANALDIGITAAL:12574:hC56:S19.2E:22000:518+8190:92=dut:38:622,100:5020:53:1109:0
 | 
			
		||||
BVN;CANALDIGITAAL:12574:hC56:S19.2E:22000:515+8190:96=dut:36:0:5025:53:1109:0
 | 
			
		||||
@@ -45,14 +45,14 @@ MDR FERNSEHEN;ARD:12109:hC34:S19.2E:27500:401:402=deu:404:0:28204:1:1073:0
 | 
			
		||||
rbb Berlin;ARD:12109:hC34:S19.2E:27500:601:602=deu:604:0:28206:1:1073:0
 | 
			
		||||
:Premiere World
 | 
			
		||||
PREMIERE START,START;PREMIERE:11797:hC34:S19.2E:27500:255:256=deu:32:1722,1801,1702:8:133:2:0
 | 
			
		||||
PREMIERE 1,PREM 1;PREMIERE:11797:hC34:S19.2E:27500:511:512=deu,513=deu;515=deu:32:1:10:133:2:0
 | 
			
		||||
PREMIERE 2,PREM 2;PREMIERE:11797:hC34:S19.2E:27500:1791:1792=deu,1793=deu;1795=deu:32:1:11:133:2:0
 | 
			
		||||
PREMIERE 3,PREM 3;PREMIERE:11797:hC34:S19.2E:27500:2303:2304=deu:32:1:43:133:2:0
 | 
			
		||||
PREMIERE 4,PREM 4;PREMIERE:11797:hC34:S19.2E:27500:767:768=deu,769=deu:32:1:9:133:2:0
 | 
			
		||||
PREMIERE 5,PREM 5;PREMIERE:11797:hC34:S19.2E:27500:1279:1280=deu,1281=deu:32:1:29:133:2:0
 | 
			
		||||
PREMIERE 6,PREM 6;PREMIERE:11797:hC34:S19.2E:27500:1535:1536=deu:32:1:41:133:2:0
 | 
			
		||||
PREMIERE 1,PREM 1;PREMIERE:11797:hC34:S19.2E:27500:511:512=deu,513=deu;515=deu:32:1722,1801,1702:10:133:2:0
 | 
			
		||||
PREMIERE 2,PREM 2;PREMIERE:11797:hC34:S19.2E:27500:1791:1792=deu,1793=deu;1795=deu:32:1722,1801,1702:11:133:2:0
 | 
			
		||||
PREMIERE 3,PREM 3;PREMIERE:11797:hC34:S19.2E:27500:2303:2304=deu,2305=deu:32:1722,1801,1702:43:133:2:0
 | 
			
		||||
PREMIERE 4,PREM 4;PREMIERE:11797:hC34:S19.2E:27500:767:768=deu,769=deu:32:1722,1801,1702:9:133:2:0
 | 
			
		||||
PREMIERE 5,PREM 5;PREMIERE:11797:hC34:S19.2E:27500:1279:1280=deu,1281=deu:32:1722,1801,1702:29:133:2:0
 | 
			
		||||
PREMIERE 6,PREM 6;PREMIERE:11797:hC34:S19.2E:27500:1535:1536=deu:32:1722,1801,1702:41:133:2:0
 | 
			
		||||
PREMIERE 7,PREM 7;PREMIERE:11797:hC34:S19.2E:27500:1023:1024=deu:32:1702,1801,1722:20:133:2:0
 | 
			
		||||
DISNEY CHANNEL,DISNEY;PREMIERE:11758:hC34:S19.2E:27500:2559:2560=deu:32:1:34:133:17:0
 | 
			
		||||
DISNEY CHANNEL,DISNEY;PREMIERE:11758:hC34:S19.2E:27500:2559:2560=deu:32:1722,1801,1702:34:133:17:0
 | 
			
		||||
:Premiere Direkt
 | 
			
		||||
PREMIERE DIREKT,DIREKT;PREMIERE:12031:hC34:S19.2E:27500:2815:2816=deu,2817=deu;2819=deu:0:0:18:133:4:0
 | 
			
		||||
:PW Erotic
 | 
			
		||||
@@ -133,6 +133,6 @@ CNN;BSkyB:12051:vC23:S28.2E:27500:2313:2315=eng:2314:0:7140:2:2018:0
 | 
			
		||||
BBC PARL'MNT;BSkyB:10847:vC56:S28.2E:22000:2327:2328=eng:2331:0:6902:2:2050:0
 | 
			
		||||
IGLESIA MME;T-Systems/MTI:11200:vC56:S13.0E:27500:4097:4098:0:0:4733:318:13400:0
 | 
			
		||||
eng-WRN-multi;WRN:12597:vC34:S13.0E:27500:0:2132:0:0:8230:318:9400:0
 | 
			
		||||
Challenger Tv;Telespazio:11304:hC34:S13.0E:27500:490:491:0:0:8409:318:500:0
 | 
			
		||||
Challenger Tv;Telespazio:11295:hC34:S13.0E:27500:490:491:0:0:8409:318:500:0
 | 
			
		||||
TVS Teleport Bonn;DMV:11535:vC34:S1.0W:5632:308+8190:256=eng,257=eng:0:3:1:65535:1:0
 | 
			
		||||
:@1000 New channels
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								config.h
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								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 1.251 2006/04/16 09:36:10 kls Exp $
 | 
			
		||||
 * $Id: config.h 1.252 2006/04/21 14:53:26 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef __CONFIG_H
 | 
			
		||||
@@ -21,8 +21,8 @@
 | 
			
		||||
 | 
			
		||||
// VDR's own version number:
 | 
			
		||||
 | 
			
		||||
#define VDRVERSION  "1.3.47"
 | 
			
		||||
#define VDRVERSNUM   10347  // Version * 10000 + Major * 100 + Minor
 | 
			
		||||
#define VDRVERSION  "1.3.48"
 | 
			
		||||
#define VDRVERSNUM   10348  // Version * 10000 + Major * 100 + Minor
 | 
			
		||||
 | 
			
		||||
// The plugin API's version number:
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								epg.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								epg.c
									
									
									
									
									
								
							@@ -7,7 +7,7 @@
 | 
			
		||||
 * Original version (as used in VDR before 1.3.0) written by
 | 
			
		||||
 * Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: epg.c 1.71 2006/04/17 12:18:59 kls Exp $
 | 
			
		||||
 * $Id: epg.c 1.72 2006/04/22 12:02:47 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "epg.h"
 | 
			
		||||
@@ -445,7 +445,7 @@ void cEvent::FixEpgBugs(void)
 | 
			
		||||
  strreplace(description, '\x86', ' ');
 | 
			
		||||
  strreplace(description, '\x87', ' ');
 | 
			
		||||
 | 
			
		||||
  if (!title) {
 | 
			
		||||
  if (isempty(title)) {
 | 
			
		||||
     // we don't want any "(null)" titles
 | 
			
		||||
     title = strcpyrealloc(title, tr("No title"));
 | 
			
		||||
     EpgBugFixStat(12, ChannelID());
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								menuitems.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								menuitems.c
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * how to reach the author.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: menuitems.c 1.42 2006/04/14 10:41:28 kls Exp $
 | 
			
		||||
 * $Id: menuitems.c 1.43 2006/04/23 11:39:48 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "menuitems.h"
 | 
			
		||||
@@ -351,10 +351,10 @@ char cMenuEditStrItem::Inc(char c, bool Up)
 | 
			
		||||
 | 
			
		||||
eOSState cMenuEditStrItem::ProcessKey(eKeys Key)
 | 
			
		||||
{
 | 
			
		||||
  bool SameKey = Key == lastKey;
 | 
			
		||||
  bool SameKey = NORMALKEY(Key) == lastKey;
 | 
			
		||||
  if (Key != kNone)
 | 
			
		||||
     lastKey = Key;
 | 
			
		||||
  else if (!newchar && k0 <= NORMALKEY(lastKey) && NORMALKEY(lastKey) <= k9 && autoAdvanceTimeout.TimedOut()) {
 | 
			
		||||
     lastKey = NORMALKEY(Key);
 | 
			
		||||
  else if (!newchar && k0 <= lastKey && lastKey <= k9 && autoAdvanceTimeout.TimedOut()) {
 | 
			
		||||
     AdvancePos();
 | 
			
		||||
     newchar = true;
 | 
			
		||||
     currentChar = NULL;
 | 
			
		||||
@@ -460,7 +460,7 @@ eOSState cMenuEditStrItem::ProcessKey(eKeys Key)
 | 
			
		||||
                       }
 | 
			
		||||
                    if (!currentChar || !*currentChar || *currentChar == '\t') {
 | 
			
		||||
                       // find the beginning of the character map entry for Key
 | 
			
		||||
                       int n = Key - k0;
 | 
			
		||||
                       int n = NORMALKEY(Key) - k0;
 | 
			
		||||
                       currentChar = charMap;
 | 
			
		||||
                       while (n > 0 && *currentChar) {
 | 
			
		||||
                             if (*currentChar++ == '\t')
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,7 @@
 | 
			
		||||
# See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
# how to reach the author.
 | 
			
		||||
#
 | 
			
		||||
# $Id: newplugin 1.26 2006/04/17 09:49:13 kls Exp $
 | 
			
		||||
# $Id: newplugin 1.27 2006/04/22 10:04:10 kls Exp $
 | 
			
		||||
 | 
			
		||||
$PLUGIN_NAME = $ARGV[0] || die "Usage: newplugin <name>\n";
 | 
			
		||||
 | 
			
		||||
@@ -85,7 +85,7 @@ TMPDIR = /tmp
 | 
			
		||||
 | 
			
		||||
### The version number of VDR's plugin API (taken from VDR's "config.h"):
 | 
			
		||||
 | 
			
		||||
APIVERSION = \$(shell grep 'define APIVERSION ' \$(VDRDIR)/config.h | awk '{ print \$\$3 }' | sed -e 's/"//g')
 | 
			
		||||
APIVERSION = \$(shell sed -ne '/define VDRVERSION/ { s/^.*"\(.*\)".*\$\$/\\1/; p }' \$(VDRDIR)/config.h)
 | 
			
		||||
 | 
			
		||||
### The name of the distribution archive:
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * how to reach the author.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: recording.c 1.146 2006/04/17 12:47:59 kls Exp $
 | 
			
		||||
 * $Id: recording.c 1.147 2006/04/23 10:43:06 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "recording.h"
 | 
			
		||||
@@ -1197,7 +1197,7 @@ cIndexFile::cIndexFile(const char *FileName, bool Record)
 | 
			
		||||
                       LOG_ERROR_STR(fileName);
 | 
			
		||||
                    }
 | 
			
		||||
                 else
 | 
			
		||||
                    esyslog("ERROR: can't allocate %d bytes for index '%s'", size * sizeof(tIndex), fileName);
 | 
			
		||||
                    esyslog("ERROR: can't allocate %zd bytes for index '%s'", size * sizeof(tIndex), fileName);
 | 
			
		||||
                 }
 | 
			
		||||
              }
 | 
			
		||||
           else
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								timers.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								timers.c
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * how to reach the author.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: timers.c 1.57 2006/04/09 09:10:08 kls Exp $
 | 
			
		||||
 * $Id: timers.c 1.58 2006/04/21 15:12:49 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "timers.h"
 | 
			
		||||
@@ -292,7 +292,7 @@ int cTimer::GetWDay(time_t t)
 | 
			
		||||
{
 | 
			
		||||
  struct tm tm_r;
 | 
			
		||||
  int weekday = localtime_r(&t, &tm_r)->tm_wday;
 | 
			
		||||
  return weekday == 0 ? 6 : weekday - 1; // we start with monday==0!
 | 
			
		||||
  return weekday == 0 ? 6 : weekday - 1; // we start with Monday==0!
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool cTimer::DayMatches(time_t t) const
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								tools.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								tools.c
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
			
		||||
 * See the main source file 'vdr.c' for copyright information and
 | 
			
		||||
 * how to reach the author.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: tools.c 1.116 2006/04/17 12:19:31 kls Exp $
 | 
			
		||||
 * $Id: tools.c 1.117 2006/04/21 15:12:47 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "tools.h"
 | 
			
		||||
@@ -615,7 +615,7 @@ cString cString::sprintf(const char *fmt, ...)
 | 
			
		||||
cString WeekDayName(int WeekDay)
 | 
			
		||||
{
 | 
			
		||||
  char buffer[4];
 | 
			
		||||
  WeekDay = WeekDay == 0 ? 6 : WeekDay - 1; // we start with monday==0!
 | 
			
		||||
  WeekDay = WeekDay == 0 ? 6 : WeekDay - 1; // we start with Monday==0!
 | 
			
		||||
  if (0 <= WeekDay && WeekDay <= 6) {
 | 
			
		||||
     const char *day = tr("MonTueWedThuFriSatSun");
 | 
			
		||||
     day += WeekDay * 3;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										8
									
								
								vdr.5
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								vdr.5
									
									
									
									
									
								
							@@ -8,7 +8,7 @@
 | 
			
		||||
.\" License as specified in the file COPYING that comes with the
 | 
			
		||||
.\" vdr distribution.
 | 
			
		||||
.\"
 | 
			
		||||
.\" $Id: vdr.5 1.55 2006/03/26 13:42:29 kls Exp $
 | 
			
		||||
.\" $Id: vdr.5 1.56 2006/04/21 15:13:10 kls Exp $
 | 
			
		||||
.\"
 | 
			
		||||
.TH vdr 5 "26 Mar 2006" "1.3.45" "Video Disk Recorder Files"
 | 
			
		||||
.SH NAME
 | 
			
		||||
@@ -259,11 +259,11 @@ so a complete definition could look like this:
 | 
			
		||||
 | 
			
		||||
\fBMTWTF\-\-@2002\-02\-18\fR
 | 
			
		||||
 | 
			
		||||
which would implement a timer that records Moday thru Friday, and will hit
 | 
			
		||||
which would implement a timer that records Monday thru Friday, and will hit
 | 
			
		||||
for the first time on or after February 18, 2002.
 | 
			
		||||
This \fBfirst day\fR feature can be used to disable a repeating timer for a couple
 | 
			
		||||
of days, or for instance to define a new Mon...Fri timer on wednesday, which
 | 
			
		||||
actually starts "monday next week". The \fBfirst day\fR date given need not be
 | 
			
		||||
of days, or for instance to define a new Mon...Fri timer on Wednesday, which
 | 
			
		||||
actually starts "Monday next week". The \fBfirst day\fR date given need not be
 | 
			
		||||
that of a day when the timer would actually hit.
 | 
			
		||||
.TP
 | 
			
		||||
.B Start
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								vdr.c
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								vdr.c
									
									
									
									
									
								
							@@ -15,14 +15,14 @@
 | 
			
		||||
 *
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program; if not, write to the Free Software
 | 
			
		||||
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 | 
			
		||||
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 | 
			
		||||
 * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
 | 
			
		||||
 *
 | 
			
		||||
 * The author can be reached at kls@cadsoft.de
 | 
			
		||||
 *
 | 
			
		||||
 * The project's page is at http://www.cadsoft.de/vdr
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: vdr.c 1.262 2006/04/17 14:43:46 kls Exp $
 | 
			
		||||
 * $Id: vdr.c 1.264 2006/04/22 11:26:04 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <getopt.h>
 | 
			
		||||
@@ -422,7 +422,7 @@ int main(int argc, char *argv[])
 | 
			
		||||
               );
 | 
			
		||||
        }
 | 
			
		||||
     if (DisplayVersion)
 | 
			
		||||
        printf("vdr (%s) - The Video Disk Recorder\n", VDRVERSION);
 | 
			
		||||
        printf("vdr (%s/%s) - The Video Disk Recorder\n", VDRVERSION, APIVERSION);
 | 
			
		||||
     if (PluginManager.HasPlugins()) {
 | 
			
		||||
        if (DisplayHelp)
 | 
			
		||||
           printf("Plugins: vdr -P\"name [OPTIONS]\"\n\n");
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user