14 Commits

Author SHA1 Message Date
Klaus Schmidinger
c2d9577b3d Version 1.7.24
Original announce message:
VDR developer version 1.7.24 is now available at

       ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.24.tar.bz2

A 'diff' against the previous version is available at

       ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.23-1.7.24.diff

MD5 checksums:

a034c5e399417dfc583483f650d003ee  vdr-1.7.24.tar.bz2
aa1a2b202da92e65945ff39470b26618  vdr-1.7.23-1.7.24.diff

WARNING:
========

This is a developer version. Even though I use it in my productive
environment. I strongly recommend that you only use it under controlled
conditions and for testing and debugging.

From the HISTORY file:
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- Fixed a high load in case a transponder can't be received.
- Improved the way DVB_API_VERSION is checked.
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
- Fixed asserting there is a live programme if the primary device is bonded with
  a device that starts a recording on a different band.
- Fixed the return type of cMyDeviceHook::DeviceProvidesTransponder() in PLUGINS.html.
- Fixed a crash in a plugin using cDeviceHook when VDR ends (reported by Oliver Endriss).
- Some improvements to the Makefiles (thanks to Christian Ruppert).
- Fixed cRecording::LengthInSeconds(), which wrongfully rounded the result to full
  minutes (thanks to Christoph Haubrich).
- Symbolic links are no longer resolved in cRecordings::ScanVideoDir() (thanks to
  Sundararaj Reel).
- The epg.data file is now read in a separate thread to make the startup process
  faster in case the file is very large (suggested by Helmut Auer).
- Fixed selecting the primary device for receiving the live viewing channel in
  case it is bonded with an other device and has no receiver attached to it.
- Fixed a possible crash when canceling VDR while displaying subtitles, and the
  primary device is no longer available.
- Improved handling subtitles of BBC channels.
- No longer using tabs as delimiter in the EPG bugfix log (they were garbled in the
  log file).
- Added a missing '.' after the month in VPS strings.
- Added some missing 'const' to cDevice (thanks to Joachim Wilke).
- Fixed handling the PrimaryLimit when requesting a device for live viewing
  (reported by Uwe Scheffler).
- Removed superfluous calls to SetVideoFormat() from device constructors. This
  function is called in cDevice::SetPrimaryDevice(), anyway.
- An ongoing editing process is now canceled if either the original or the edited
  version of the recording is deleted from the Recordings menu.
- The SVDRP command DELR now won't delete a recording that is currently being edited.
- Removed code stub for obsolete SVDRP command MOVT.
- The DVB device adapters/frontends are now probed by scanning the /dev/dvb directory
  instead of looping through adapter/frontend numbers. This allows for "holes" in the
  device numbering.
- cReadDir::Next() now skips directory entries "." and "..".
- Fixed a possible deadlock in time shift mode.
- Fixed switching into time shift mode when pausing live video (thanks to Reinhard
  Nissl for helping to debug this one).
2012-02-19 16:36:45 +01:00
Klaus Schmidinger
5619c0602b Version 1.7.17
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
- Fixed following symbolic links in RemoveFileOrDir() (cont'd) (thanks to
  Steffen Barszus).
- Changed the description of cDevice::GetSTC() to make it mandatory for devices
  that can replay.
- Removed the check for positive STC values from cDvbSubtitleConverter::Action().
- Added cString::operator=(const char *String) (suggested by Antti Seppälä).
- Some spelling fixes (thanks to Ville Skyttä).
- Passing package name and version to xgettext (thanks to Ville Skyttä).
- Made 'dist' target dependent on up to date *.po (thanks to Ville Skyttä).
- Added Language and fixed Language-Team header of *.po (thanks to Ville Skyttä).
- Updated the Lithuanian OSD texts (thanks to Valdemaras Pipiras).
- Fixed detecting frames on channels that broadcast with 50 or 60 fps.
  This avoids artifacts during fast forward/rewind when replaying recordings from such
  channels. To fix the index of existing recordings from such channels, just delete the
  'index' file of the recording and VDR will generate a new one the next time you play it.
  You should also change the line "F 25" to "F 50" in the 'info' file of that recording.
- Added support for "registration descriptor" to 'libsi' and using it in pat.c (thanks
  to Rolf Ahrenberg).
- Fixed unjustified log entries about changed channel pids (reported by Derek Kelly).
- Added an include of VDR's 'Make.global' to libsi's Makefile (thanks to Rolf
  Ahrenberg).
- Removed displaying the "contents" information from the "Classic VDR" and
  "ST:TNG Panels" skins, because it is often wrong and nothing but irritating.
- Added typecasts to avoid gcc 4.5 warnings in switch statements on eKeys
  variables where additional 'k_...' flags are used.
- Fixed inclusion of <stdarg.h> (thanks to Henning Heinold).
- Changed "frame duration" to "frame rate" in vdr.5 (reported by Tobias Grimm).
- Removing a cRemote from the Remotes list in case its initialization failed (thanks
  to Dominik Strasser).
- Added LDFLAGS to the linker calls in the Makefiles (thanks to Joerg Bornkessel and
  Paul Menzel).
- Now updating the 'frames per second' data in the list of recordings when a new
  recording is started that has a frame rate other than the default.
- The include path to the freetype2 header files is now retrieved via a call to
  'pkg-config --cflags freetype2' (suggested by Andreas Oberritter).
- The OSD now has full TrueColor support. There can be several "pixmaps" that can
  be overlayed with alpha blending. All existing skins should work out of the box
  with the TrueColor OSD - the only exception being cOsd::GetBitmap(). Since the
  TrueColor OSD doesn't use bitmaps, this function will return a dummy bitmap, which
  may not be what the plugin expects. As long as this bitmap is only used for setting
  the palette, there is no problem. However, any other operations on this bitmap will
  have no effect. See the description of the cPixmap functions in osd.h for details
  about the new functionalities.
  The "ST:TNG Panels" skin has been enhanced to automatically use the TrueColor OSD
  if available.
  The "osddemo" plugin has been extended to show some of the possibilities of the
  TrueColor OSD if it is run on a system that actually provides TrueColor support.
  Thanks to Reinhard Nissl for some valuable input, help with debugging, and an
  implementation of the AlphaBlend() function.
- Updated the Slovakian language texts (thanks to Milan Hrala).
- Added Serbian language texts (thanks to Milan Cvijanovic).
- Fixed reallocating memory in the "pictures" plugin (reported by Paul Menzel, with
  input from Oliver Endriss).
- Fixed reallocating memory in cTsToPes::PutTs() (suggested by Oliver Endriss).
- Now checking the result of all realloc() calls.
- Fixed setting up the 'Recordings' menu in case there are several recordings
  with exactly the same name (reported by Marcus Hilbrich).
- Setting the audio type of language descriptors to 0x00 in the PAT/PMT generator
  (thanks to Anssi Hannula).
- Changed the compiler optimization flag to -O3, which gives quite a performance
  boost in the AlphaBlend() function.
- While replaying, the editing marks are now updated every 10 seconds (based on a
  patch from Manuel Reimer).
- Now reducing the thread and I/O priority cCuttingThread::Action() to make the
  foreground process more responsive (suggested by Frank Neumann).
- Removed checking for minimum line length of 21 characters in the LIRC receiver code
  (reported by Gerald Dachs).
- Updated the Romanian OSD texts (thanks to Lucian Muresan).
- Now storing the original display size when handling DVB subtitles (thanks to
  Reinhard Nissl).
- The original display size of subtitles is now used to scale them properly when
  displaying them on an HD OSD.
2011-03-19 19:02:09 +01:00
Klaus Schmidinger
5ce592e54a Version 1.7.13
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- Changed the position of Sirius 4 to S4.8E in sources.conf (thanks to Alexander Gross).
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
- Moved the declaration of cMenuCommands to menu.h, so that plugins can use it.
- Added a note to the MANUAL, saying that adding new transponders only works if the
  "EPG scan" is active (suggested by Halim Sahim).
- Improved handling frames at the beginning and end of a recording in cDvbPlayer for
  devices with large buffers (thanks to Reinhard Nissl).
- Implemented cDeviceHook to allow plugins more control over which device can
  provide which transponder (thanks to Reinhard Nissl).
- Implemented cDevice::GetCurrentlyTunedTransponder() (thanks to Reinhard Nissl).
- Moved strictly necessary Makefile options into Make.global, which is included
  by all plugins (thanks to Paul Menzel). The Makefiles of existing plugins should be
  modified like this:

  ------------------------------------------------------------
  --- PLUGINS/src/hello/Makefile  2009/10/18 14:00:07      2.1
  +++ PLUGINS/src/hello/Makefile  2010/02/06 14:50:03      2.2
  @@ -18,7 +18,7 @@
   ### The C++ compiler and options:

   CXX      ?= g++
  -CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses
  +CXXFLAGS ?= -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses

   ### The directory environment:

  @@ -26,6 +26,10 @@
   LIBDIR = ../../lib
   TMPDIR = /tmp

  +### Make sure that necessary options are included:
  +
  +include $(VDRDIR)/Make.global
  +
   ### Allow user defined options to overwrite defaults:

   -include $(VDRDIR)/Make.config
  ------------------------------------------------------------
- Added device definitions to the diseqc.conf file format, so that certain satellite
  positions can be limited to a given list of devices.
  This obsoletes the SOURCECAPS patch.
- Keeping subtitles visible when pausing replay (thanks to Rolf Ahrenberg).
- Fixed adding new transponders in case there is only a single channel in the
  channel list (reported by Halim Sahin).
- The file name in the "Timers" menu now shows only the base name of the recording
  without the folder path (if any). Otherwise with long folder paths the actual
  recording name was not visible at all.
- Updated the Romanian OSD texts (thanks to Lucian Muresan).
- Exported some libsi functions (thanks to Lucian Muresan).
- Improved scalability of the default skins.
- Fixed the German translation of "Folder name must not contain '%c'!" (thanks to
  Frank Schmirler).
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
- Plugins can now define new sources. In order to implement this, the following
  changes were made:
  + The transponder parameter string is no longer interpreted by cChannel, but rather
    stored as is and used only by the respective device. That way plugins can use a
    channel's parameter string to store arbitrary data (see vdr.5).
  + The new class cSourceParam can be used by plugins to define new sources, and to
    implement OSD items that will be used in the channel editor for editing the source
    specific parameters of a channel (see dvbdevice.c for an example of how this is
    done for the default DVB devices).
  + Purely numerical values are no longer accepted in the 'source' parameter of a
    channel.
  This obsoletes the PLUGINPARAM patch.
- Updated the Lithuanian OSD texts (thanks to Valdemaras Pipiras).
- cSafeFile::Close() now flushes the file (suggested by Stephan Austermühle).
- The option "Setup/DVB/Use Dolby Digital" now only controls whether Dolby Digital
  tracks appear in the "Audio" menu. Dolby Digital is always recorded.
  This obsoletes the DOLBYINREC patch.
2010-02-28 16:07:00 +01:00
Klaus Schmidinger
771986b89f Version 1.7.0
- Re-implemented handling of DVB-S2, which first appeared in version 1.5.14, but was
  revoked in version 1.5.15 in favor of making a stable version 1.6.0. VDR now
  requires the "multiproto" DVB driver, e.g. from http://jusst.de/hg/multiproto.
  Note that the channels.conf file now supports additional parameters, so you may
  want to make sure you have a backup of this file in case you need to go back to
  the previous version of VDR!
- Fixed displaying transponder data when it is modified (thanks to Reinhard Nissl).
- Fixed handling the counter in detection of pre 1.3.19 PS data (thanks to Reinhard
  Nissl).
- Improved logging system time changes to avoid problems on slow systems under
  heavy load (suggested by Helmut Auer).
- Now setting the thread name, so that it can be seen in 'top -H' (thanks to Rolf
  Ahrenberg).
- Fixed initializing the timer's flags in the cTimer copy constructor (thanks to
  Andreas Mair).
- Fixed setting the OSD level in the 'osddemo' example (thanks to Wolfgang Rohdewald).
- Increased the time between checking the CAM status to 500ms to avoid problems
  with some CAMs (reported by Arthur Konovalov).
2008-04-13 18:00:00 +02:00
Klaus Schmidinger
fc4c8740a7 Version 1.5.13
- Fixed the declaration of cSubtitleObject::Decode8BppCodeString() (thanks to
  Gregoire Favre).
- The new setup option "Miscellaneous/Emergency exit" can be used to turn off
  the automatic restart of VDR in case a recording fails for some reason.
- The kInfo key is now propagated to any open menu, so that it can react to it
  in a context sensitive manner (suggested by Andreas Brugger). If there is
  no menu open it will show the info of the current broadcast or replay.
- cTimeMs now uses the monotonic clock, if available (thanks to Petri Hintukainen).
- Fixed cVector::Clear() and cStringList::Clear().
- Added cString::Truncate().
- Fixed the "i18n:" target in the "newplugin" script, so that it can create the
  initial *.pot file.
- Fixed handling the '-l' option.
- Fixed error handling in cCuttingThread::Action() (thanks to Udo Richter).
- Fixed a loss of the date display in the "classic" skin's main menu (reported by
  Andreas Brugger).
- Added a missing setting of lastFreeMB in cMenuMain::Update() (reported by
  Andreas Brugger).
- Added '-Wno-parentheses' to the compiler options in order to avoid silly compiler
  warnings for expressions like 'a || b && c', where GCC 4.3 wants to force the
  programmer to write 'a || (b && c)', while everybody knows that '&&' links
  stronger than '||' (reported by Tobias Grimm).
- Updated the Hungarian language texts (thanks to István Füley).
- Fixed displaying weekday names in the Schedule menu if the system uses UTF-8
  (reported by Jiri Dobry).
- The new plugin "pictures" implements a simple picture viewer.
  See PLUGINS/src/pictures/README for details.
- The automatic shutdown is now suppressed if the remote control is currently
  disabled (suggested by Helmut Auer, implemented by Udo Richter).
- Added a section about "Logging" to PLUGINS.html (suggested by Torsten Kunkel).
- Enhanced the SVDRP command CLRE to allow clearing the EPG data of a particular
  channel (thanks to Benjamin Hess).
2008-01-13 18:00:00 +01:00
Klaus Schmidinger
e5a2aa41c9 Version 1.5.8
- Added missing install-i18n to the install target in the Makefile (reported
  by Joachim Wilke).
- Fixed a faulty comment in Make.config.template (reported by Marco Schlüßler).
- Improved i18n-to-gettext.pl (thanks to Matthias Schwarzott).
- Moved the "all" target in plugin Makefiles before the "Implicit rules",
  so that a plain "make" will compile everything (suggested by Matthias
  Schwarzott). The "newplugin" script has been changed accordingly.
  Plugin authors may want to change their Makefiles, too.
- Added DESTDIR and PREFIX handling to the Makefile (thanks to Matthias
  Schwarzott).
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
- Added internationalization to the "skincurses" plugin (thanks to Rolf
  Ahrenberg).
- Checking the string for NULL in I18nTranslate().
- Updated the French OSD texts (thanks to Bruno Roussel).
- Some optimizations in cDvbDevice::SetChannelDevice() (thanks to Tobias Bratfisch).
- Optimized cMenuEditChrItem::Set() (thanks to Tobias Bratfisch).
- Optimized cNitFilter::Process() (thanks to Tobias Bratfisch).
- Reduced the number of time(NULL) calls in vdr.c's main loop to a single call
  (thanks to Tobias Bratfisch).
- Changed cBitmap::DrawText() to always draw the background unless ColorBg
  is clrTransparent (thanks to Christoph Haubrich).
- The "Setup/OSD/Language" menu now only shows those languages that actually
  have a locale (suggested by Anssi Hannula).
- Now using setenv() instead of setlocale() to set the language for gettext()
  (suggested by Anssi Hannula; thanks also to Ludwig Nussel for a hint on using
  _nl_msg_cat_cntr).
- When scanning the locale directory, VDR now explicitly looks for a file named
  vdr.mo. Text files for plugins are now named "vdr-name.mo", when "name" is the
  name of the plugin. The "newplugin" script has been changed accordingly, and
  plugin authors should change their Makefiles, too.
2007-08-19 18:00:00 +02:00
Klaus Schmidinger
d495ed1a3e Version 1.4.2-3
- Added --remove-destination to the 'cp' command for binaries in the Makefiles of
  the plugins (thanks to Rolf Ahrenberg).
- The 'skincurses' plugin now adjusts the size of the OSD to the size of the console
  window.
- Fixed deleting expired VPS timers (under certain conditions a timer could have been
  deleted before it even started recording).
- Updated the Hungarian language texts (thanks to Istvan Koenigsberger and Guido Josten).
- Fixed handling video directory updates in case the timestamp of the .update file
  is in the future (thanks to Petri Hintukainen).
2006-09-17 18:00:00 +02:00
Klaus Schmidinger
56e5836b54 Version 1.3.49
- Fixed initializing 'noapiv' in the Makefile (reported by Ronny Kornexl).
- Fixed extracting APIVERSION to work with older versions of 'sed' (reported by
  Oliver Endriss; thanks also to Udo Richter for a shorter version of the 'sed'
  expression).
- Fixed broken APIVERSION extraction line in 'newplugin' (thanks to Oliver Endriss).
- Fixed entering '0' in a cMenuEditIntItem (reported by Mirko Dölle).
- Updated the Italian OSD texts (thanks to Nino Gerbino).
- Added a note about adding 'INCLUDES += -I$(DVBDIR)/include' to an existing
  Make.config (problem reported by Markus Ehrnsperger).
- Fixed handling the cPluginManager::Active() result when pressing the "Power" key
  (reported by Werner Färber).
- Added a hint about commenting out the line '#define USE_FADVISE' in tools.c in
  case of problems with replaying in fast forward mode if the video directory is
  mounted via a Samba share (reported by Andy Grobb).
- Changed the "Really restart?" prompt in the call to cPluginManager::Active() in
  menu.c to "restart anyway?" (suggested by Rolf Ahrenberg).
- Removed the obsolete "'1' for encrypted radio channels" part from the description
  of the VPID in vdr.5 (reported by Alexander Hans).
- Fixed tuning to the channel of a VPS timer if the device is the actual device.
2006-04-28 18:00:00 +02:00
Klaus Schmidinger
880c3ddb94 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ä).
2006-04-23 18:00:00 +02:00
Klaus Schmidinger
293ed4027e Version 1.3.47
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
- Fixed a crash when setting the time transponder in the Setup menu, caused by the
  new 'noneString' in cMenuEditChanItem (reported by Thomas Günther).
- Added NULL checks to some strdup() calls in menuitems.c (suggested by Darren
  Salt).
- Removed the unnecessary 'value' member from cMenuEditItem.
- Fixed the initial setting of the time transponder setup parameter (reported
  by Thomas Günther).
- Fixed unnecessary Set() calls in cMenuEditIntItem::ProcessKey().
- Allowing a tolerance for symbol rate values that are off by one (thanks to
  Richard Lithvall).
- Added VBITeletextDescriptorTag, TeletextDescriptorTag, LocalTimeOffsetDescriptorTag
  and PremiereContentTransmissionDescriptor to 'libsi' (thanks to Marco Schlüßler).
- Using geteuid() to check whether VDR is running as user 'root' (suggested by
  Tobias Grimm).
- Added a missing "Key$" in skincurses.c (reported by Darren Salt).
- Reintroduced the log message "deleting plugin: ..." when shutting down VDR (upon
  request by Ville Skyttä, as in the initial patch from Christoph Haubrich).
- Fixed the vdr.1 man page (a single DVB card can record and do live tv).
- The preferred audio language is now automatically selected when starting replay.
- 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 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
  files as VDR itself, the definition of DVBDIR has been removed from the VDR
  Makefile. If you are using a driver version that has its header files at a location
  other than /usr/include/linux/dvb, you can define DVBDIR in the Make.config
  file (see also INSTALL). Note that if you already have a Make.config file of your
  own, you should add the lines

  ifdef DVBDIR
  INCLUDES += -I$(DVBDIR)/include
  endif

  to its end, as in the new Make.config.template.
  Any reference to DVBDIR should be removed from all plugins' Makefiles, like this:

  ------------------------------------------------------------
  --- PLUGINS/src/hello/Makefile  2005/11/11 13:20:14     1.10
  +++ PLUGINS/src/hello/Makefile  2006/04/15 11:58:46     1.11
  @@ -20,7 +20,6 @@

   ### The directory environment:

  -DVBDIR = ../../../../DVB
   VDRDIR = ../../..
   LIBDIR = ../../lib
   TMPDIR = /tmp
  @@ -40,7 +39,7 @@

   ### Includes and Defines (add further entries here):

  -INCLUDES += -I$(VDRDIR)/include -I$(DVBDIR)/include
  +INCLUDES += -I$(VDRDIR)/include

   DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
  ------------------------------------------------------------

  Thanks to Marco Schlüßler for pointing out this problem.
- Implemented kNext and kPrev keys (based on a patch from Peter Juszack).
  See MANUAL for details.
- Implemented kChanPrev (from a patch from Darren Salt).
- The "Update channels" parameter in the "Setup/DVB" menu has been extended to
  allow updating only the PIDs (see MANUAL for details). When updating to this
  version of VDR, please verify that the setting is as you want it to be, because
  the values have been shifted.
- The new APIVERSION (see config.h) now allows existing compiled plugins to be
  used with newer versions of VDR, as long as there have been no changes to the
  VDR header files since the last APIVERSION. Existing plugins' Makefiles should
  have all references to VDRVERSION changed to APIVERSION, like this:

  ------------------------------------------------------------
  --- PLUGINS/src/hello/Makefile  2006/04/15 11:58:46     1.11
  +++ PLUGINS/src/hello/Makefile  2006/04/16 09:03:50     1.12
  @@ -28,9 +28,9 @@

   -include $(VDRDIR)/Make.config

  -### The version number of VDR (taken from VDR's "config.h"):
  +### The version number of VDR's plugin API (taken from VDR's "config.h"):

  -VDRVERSION = $(shell grep 'define VDRVERSION ' $(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:

  @@ -67,7 +67,7 @@

   libvdr-$(PLUGIN).so: $(OBJS)
          $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
  -       @cp $@ $(LIBDIR)/$@.$(VDRVERSION)
  +       @cp $@ $(LIBDIR)/$@.$(APIVERSION)

   dist: clean
          @-rm -rf $(TMPDIR)/$(ARCHIVE)
  ------------------------------------------------------------
- If a timer is newly created from within the "Schedule" menu, and its event is
  already running or has its start time within the next two minutes, it now goes
  directly into the "Edit timer" menu in order to allow the user to make further
  changes to timer parameters before the actual recording starts (inspired by
  Christian Wieninger's "epgsearch" plugin).
- Added format check to syslog_with_tid().
- Updated the INSTALL file's section about non-VDR files in the video directory
  (since version 1.3.38 disk access is done in a separate thread, so the watchdog
  timer won't hit).
- Changed the behaviour of the "Use small font" setup option to *always* use the small
  font if set to '2' - even if it would have been a fixed font (suggested by Ronny
  Kornexl).
- No longer using characters 0x01 and 0x02 for mapping single quote and slash in
  recording names (thanks to Patrick Fischer for reporting that this was a problem
  with XML). The single quote is not mapped at all, and the slash is interchanged
  with the tilde. Existing recordings will be handled like before, so there is
  no need to actually rename them.
- The cRemote::CallPlugin() function now has a boolean return value that tells
  the caller whether initiating the plugin call was successful (suggested by
  Reinhard Nissl). If it returns false, another plugin call is currently pending
  and the caller should try again later. This also means that the SVDRP command
  PLUG can now return an error code is the call fails.
- 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-17 18:00:00 +02:00
Klaus Schmidinger
8c63e0fd96 Version 1.3.37
- Added compiler options "-fPIC -g" to all plugins (thanks to Rolf Ahrenberg).
- Fixed initializing the day index when editing the weekday parameter of a
  repeating timer (thanks to Marco Schlüßler).
- No longer removing superfluous hyphens in EPG data - would become too
  language dependent to handle all kinds of exceptions.
- Modified switching to Dolby Digital audio in live mode, if the driver
  and firmware can handle live DD without the need of a Transfer Mode (thanks
  to Werner Fink). Live DD mode requires a full featured DVB card and a
  LinuxDVB driver with firmware version 0x2622 or higher. Older versions will
  use Transfer Mode just like before.
- Implemented handling of the "CA PMT Reply" for CAMs (thanks to Marco
  Schlüßler for figuring out some obscure length bytes in the CA PMT Reply
  data of AlphaCrypt CAMs).
- Some preparations for being able to record several encrypted channels from
  the same transponder at the same time (or record and view different encrypted
  channels), provided the CAM in use can handle this. This is work in progress
  and isn't actively used, yet.
- Fixed SetProgress() in the 'skincurses' plugin in case Total is 0 (reported
  by Stefan Huelswitt).
- Added a copy constructor to cString and fixed its assignment operator
  (thanks to Holger Brunn).
- The new function Skins.QueueMessage() can be called from a background thread
  to queue a message for display. See VDR/skins.h for details.
- The SVDRP command MESG uses the new message queueing facility, so MESG
  commands may now be executed at any time, and the message will be displayed
  (no more "pending message").
2005-11-27 18:00:00 +01:00
Klaus Schmidinger
93a94b18b5 Version 1.3.0
- Changed thread handling to make it work with NPTL ("Native Posix Thread Library").
  Thanks to Jon Burgess, Andreas Schultz, Werner Fink and Stefan Huelswitt.
- The cThread class now accepts a 'Description' parameter, which is used to log
  the beginning and end of the thread, together with its process and thread id.
  For descriptions that need additional parameters you can use the function
  cThread::SetDescription(), which accepts 'printf()' like arguments.
  Existing plugins that use threads should be changed to use this functionality
  instead of explicit 'dsyslog()' calls inside their Action() function in order
  to support logging the thread ids.
- Added "Slovak Link" and "Czech Link" to 'ca.conf' (thanks to Emil Petersky).
  However, 'ca.conf' is now pretty much obsolete due to the automatic CA handling.
- Mutexes are now created with PTHREAD_MUTEX_ERRORCHECK_NP, which makes the
  'lockingTid' stuff obsolete (thanks to Stefan Huelswitt).
- Changed font handling to allow language specific character sets.
- Adopted the small font character set from the "Elchi" patch (originally
  provided by Alessio Sangalli).
- Greek language texts now use iso8859-7 character set (thanks to Dimitrios
  Dimitrakos).
- Rearranged section data handling, so that the actual data handling can be done
  separately, even from within plugins.
- The EPG data structures have been moved from eit.[hc] to epg.[hc] and have been
  adapted to the general VDR coding style. Plugins that use these data structures
  may need to change some function names (which should be obvious).
  The name 'subtitle' has been changed to 'shortText' to avoid clashes with actual
  subtitles that are part of a movie. The name 'extendedDescription' has been
  shortened to 'description'.
- Replaced 'libdtv' with 'libsi' (thanks to Marcel Wiesweg), which is thread
  safe and can be used by multiple section filters simultaneously.
- Added 'cRwLock' to 'thread.[hc]'. Note that all plugin Makefiles need to
  define _GNU_SOURCE for this to work (see the example plugin Makefiles and
  'newplugin').
- Fixed a problem with crc32 in SI handling on 64bit systems (thanks to Pedro
  Miguel Sequeira de Justo Teixeira for reporting this one).
- Fixed an alignment problem in CAM access on 64bit systems  (thanks to Pedro
  Miguel Sequeira de Justo Teixeira for reporting this one).
- Added 'StreamType' setting to CAM communication, which is important for
  Aston/SECA CAMs (thanks to Antonino Sergi).
- Now the CA descriptors are sent to the CAM in the 'program' or 'ES level'
  sections, depending on where they are found in the PMT (thanks to Hans-Peter
  Raschke for reporting this one). This should make SkyCrypt CAMs work.
- Now using the 'version number' of EPG events to avoid unnecessary work.
- Channel data is now automatically derived from the DVB data stream (inspired
  by the 'autopid' patch from Andreas Schultz).
- The current channel is now automatically re-tuned if the PIDs or other settings
  change. If a recording is going on on a channel that has a change in its
  settings, the recording will be stopped and immediately restarted to use the
  new channel settings.
- EPG events now use the complete channel ID with NID, TID and SID.
- Channel names in 'channels.conf' can now have a short form, as provided
  by some tv stations (see man vdr(5)). Currently channels that provide short
  names in addition to long ones are listed in the OSD as "short,long name",
  as in "RTL,RTL Television". The short names will be used explicitly later.
- The Ca parameter in 'channels.conf' has been extended and now contains all the
  CA system ids for the given channel. When switching to a channel VDR now tests
  for a device that provides one of these CA system ids. The devices automatically
  get their supported ids from the CI handler.
- The values in 'ca.conf' are currently without any real meaning. Whether or not
  a channel with conditional access can be received is now determined automatically
  by evaluating its CA descriptors and comparing them to the CA system ids
  provided by the installed CAM. Only the special values 1-16 are used to assign
  a channel to a particular device.
- Increased the maximum number of possible OSD colors to 256.
- Limited the line length in the EPG bugfix report, which appears to fix a buffer
  overflow that caused a crash when cleaning up the EPG data (at 05:00 in the
  morning).
2004-01-04 18:00:00 +01:00
Klaus Schmidinger
48fd2b04e9 Version 1.1.20
- Now checking if there is a connection to the keyboard (thanks to Jaakko Hyvätti)
  and only creating the KBD remote control if VDR is running in the foreground.
- Fixed taking an active SVDRP connection into account when doing shutdown (thanks
  to Gregoire Favre for reporting this one).
- Changed setting of CXX and CXXFLAGS variables in Makefile, so that an externally
  defined value will be taken if present (suggested by Robert Schiele).
  Plugin authors should please change the lines

  CXX      = g++
  CXXFLAGS = -O2 -Wall -Woverloaded-virtual

  in their Makefile to

  CXX      ?= g++
  CXXFLAGS ?= -O2 -Wall -Woverloaded-virtual

- Fixed recording overlapping timers on the same channel in case
  DO_REC_AND_PLAY_ON_PRIMARY_DEVICE and/or DO_MULTIPLE_RECORDINGS is not defined
  (thanks to Jaakko Hyvätti).
- No longer stopping/restarting the DMX when switching audio channels (thanks to
  Sven Goethel).
- Fixed high CPU load in 'Transfer Mode' (thanks to Oliver Endriss).
- If a PC keyboard is used as remote control, the string entry fields in the
  menus now accept character input directly (however, this works only for keys that
  are not otherwise defined as remote control keys). Also, plugins can switch the
  cKbdRemote class into "raw mode", where all keyboard input will be made available
  through the new 'kKbd' key code and none of it will be processed as normal remote
  control functions (thanks to Jan Rieger for suggestions and testing).
- Fixed deleting characters in string entry fields in 'insert' mode.
- Now using "Doxygen" to generate source documentation (thanks to Walter Stroebel
  for providing an initial 'Doxyfile' configuration and adjusting some comments).
  See INSTALL for information how to do this. Some function descriptions have
  already been adapted to Doxygen, more will follow.
2002-12-15 18:00:00 +01:00
Klaus Schmidinger
96ebdbf4b1 Version 1.1.18
- Fixed missing initialization of 'number' in cChannel (thanks to Martin Hammerschmid
  for reporting this one).
- Fixed a misplaced ')' in the fix about the stale lock files (thanks again to
  Oliver Endriss for pointing this out - it was my fault).
- Group delimiters in the 'channels.conf' file that have no text (like a simple ":"
  or ":@201") no longer show up in the Channels menu (suggested by Guy Roussin).
- Added "Tele 5" to 'channels.conf' (thanks to Georg Hitsch).
- Changed the source directory name for plugins from 'SRC' to 'src' (suggested by
  Clemens Kirchgatterer).
- Removed transponders 10788, 11739 and 12266 from 'channels.conf' (apparently they
  are no longer active).
- Deactivated some templates in tools.h in case some plugin needs to use the STL
  (suggested by Gerald Berwolf).
- Timers now accept channel IDs even if the 'source' is 0 (thanks to Stefan Huelswitt
  for reporting this one).
- Now taking an active SVDRP connection into account when doing shutdown or
  housekeeping (suggested by Emil Naepflein).
- Macros in 'keymacros.conf' can now use "@plugin" to directly access the main menu
  function of a given plugin (see man vdr(5) for details).
- The new plugin 'sky' can be used to integrate a Sky Digibox into the VDR system,
  using a Kfir MPEG2 encoder card (see PLUGINS/src/sky/README for details).
2002-12-01 18:00:00 +01:00