5 Commits

Author SHA1 Message Date
Klaus Schmidinger
14bd32b948 Version 1.7.37
VDR developer version 1.7.37 is now available at

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

A 'diff' against the previous version is available at

       ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.36-1.7.37.diff

MD5 checksums:

602dc7e678bcfcf075da36344a337562  vdr-1.7.37.tar.bz2
34e953fcffc112f316cbfc1f53915324  vdr-1.7.36-1.7.37.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.

Approaching version 2.0.0:
==========================

If all goes well, there should be no more functional or API changes
before the final version 2.0.0. There will just be a few more fixes.

From the HISTORY file:
- Now also using FindHeader() in cMpeg2Fixer::AdjTref() (pointed out by Sören Moch).
- Added missing template for DVBDIR to Make.config.template (reported by Derek Kelly).
- The LCARS menu now also works if the OSD has only 1bpp (two colors).
- Fixed possible garbage in the remaining time of the LCARS replay display in case the
  hours change from two to one digit.
- Fixed upscaling bitmaps. The last row and column of the scaled bitmap was not filled,
  which resulted in empty lines between scaled subtitles.
- Fixed a leftover line in case a two line subtitle was followed by a one line
  subtitle on the dvbhddevice in "high level" OSD mode.
- Returning 0 from cDvbSdFfDevice::NumProvidedSystems() if option --outputonly is given.
- The index file is now closed after initially reading it if it is older than 3600 seconds.
- Improved responsiveness during replay when close to the recording's end.
- Fixed a leftover progress display in the LCARS main menu when replay of a recording
  ends while the menu is open, and the live channel has no EPG information.
- Fixed possible audio chatter when a recording is replayed to its very end.
- Added dependency on 'i18n' to 'install-i18n' in the VDR Makefile (thanks to Tobias
  Grimm).
- Changed several calls to Skins.Message() in vdr.c to Skins.QueueMessage() in order to
  avoid a black screen while such a message is displayed in case the channel will be
  switched (reported by Uwe Scheffler).
- Updated the Slovakian language texts (thanks to Milan Hrala).
- Improved LIRC timing for repeat function.
- When pausing live video, the current audio and subtitle tracks are now retained.
- Added some notes about plugin Makefiles to PLUGINS.html.
- Avoiding an extra key press event if the repeat function kicks in when controlling
  VDR via the PC keyboard.
- The new options "Setup/Miscellaneous/Remote control repeat delay" and
  "Setup/Miscellaneous/Remote control repeat delta" can be used to adjust the
  behavior of the remote control in case a key is held pressed down for a while, so
  that the repeat function kicks in (see MANUAL).
  The builtin LIRC and KBD remote controls already use these parameters. It is
  recommended that plugins that implement an interface to any kind of remote controls
  also use the parameters Setup.RcRepeatDelay and Setup.RcRepeatDelta for the desired
  purpose, and remove any setup options they might have that serve the same purpose.
- cTimer no longer does any special "VFAT" handling to shorten directory names to 40
  characters. When a string is used as a directory name for a recording, the maximum
  length of the directory path, as well as the individual directory names, is now
  limited to the values specified by the new command line option --dirnames (see
  man vdr(1) for details). For backwards compatibility the option --vfat is still
  available and has the same effect as --dirnames=250,40,1.
- The macro MaxFileName is now obsolete and may be removed in future versions. Use
  NAME_MAX directly instead.
- There is no more fixed limit to the maximum number of cPixmap objects an OSD can
  create. However, a particular device may still be unable to create an arbitrary
  number of pixmaps, due to limited resources. So it's always a good idea to use
  as few pixmaps as possible.
- Fixed formatting and removed some superfluous break statements in vdr.c's command
  line option switch.
2013-02-09 18:56:41 +01:00
Klaus Schmidinger
fa6845328c Version 1.7.31
VDR developer version 1.7.31 is now available at

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

A 'diff' against the previous version is available at

       ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.30-1.7.31.diff

MD5 checksums:

a3edd18a352465dd26c97c1990f7bcfd  vdr-1.7.31.tar.bz2
32ff98697d1b383478a6e1932e4afc9c  vdr-1.7.30-1.7.31.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.

The default skin "LCARS" displays the signal strengths and qualities of
all devices in its main menu. For devices that have an stb0899 frontend chip
(like the TT-budget S2-3200) retrieving this information from the driver is
rather slow, which results in a sluggish response to user input in the main
menu. To speed this up you may want to apply the patches from

   ftp://ftp.tvdr.de/vdr/Developer/Driver-Patches

to the LinuxDVB driver source.

The changes since version 1.7.30:

- If regenerating an index file fails and no data is written to the file, VDR now
   reports this error and removes the empty index file.
- The setup parameter "Recording/Instant rec. time (min)" can now be set to '0',
   which means to record only the currently running event (based on a patch from Matti
   Lehtimäki).
- Decreased the ring buffer put/get trigger sizes from 1/3 to 1/10.
- The script given to VDR with the '-r' option is now also called whenever a
   recording is deleted (thanks to Alexander Wenzel).
- Improved detecting frames in MPEG 4 video (reported by Andrey Pridvorov).
- cPatPmtParser::ParsePmt() now also recognizes stream type 0x81 as "AC3", so that
   recordings that have been converted from the old PES format to TS can be played
   (suggested by Jens Vogel).
- Fixed a leftover frame counter in the LCARS skin's replay display after jumping to
   an editing mark and resuming replay.
- The new class cIoThrottle is used to allow I/O intense threads to temporarily
   suspend their activities in case buffers run full (suggested by Torsten Lang).
   Currently the cutter thread is suspended if the TS or Recorder buffer use more
   than 50% of their capacity. Plugin authors may want to participate in this
   mechanism if they use intense background I/O.
- Increased the size of the TS buffer to 5MB and that of the Recorder buffer to
   20MB to better handle HD recordings (suggested by Torsten Lang).
- Moved cleaning up the EPG data and writing the epg.data file into a separate
   thread to avoid sluggish response to user input on slow systems (based on a patch from
   Sören Moch).
- Fixed sorting folders before recordings in case of UTF-8 (thanks to Sören Moch).
- Reactivated stripping control characters from EPG texts and adapted it to UTF-8.
- Added missing decrementing of 'len' in libsi/si.c's String::decodeText() functions.
- When checking whether a video directory is empty, file names that start with a
   dot ('.') are no longer automatically ignored and implicitly removed if the directory
   contains no other files. Instead, RemoveEmptyDirectories() now has an additional
   parameter that can be given a list of files that shall be ignored when considering
   whether a directory is empty. This allows users to continue to use files such as
   ".keep" to prevent a directory from being deleted when it is empty. Currently the
   only file name that is ignored is ".sort".
2012-09-30 16:05:19 +02:00
Klaus Schmidinger
d34026c18b Version 1.7.30
VDR developer version 1.7.30 is now available at

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

A 'diff' against the previous version is available at

       ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.29-1.7.30.diff

MD5 checksums:

c6d75f2962bc3e22d9313c0ee4fa113a  vdr-1.7.30.tar.bz2
a63098efcc58bc697d6b890097d9c370  vdr-1.7.29-1.7.30.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.

The default skin "LCARS" displays the signal strengths and qualities of
all devices in its main menu. For devices that have an stb0899 frontend chip
(like the TT-budget S2-3200) retrieving this information from the driver is
rather slow, which results in a sluggish response to user input in the main
menu. To speed this up you may want to apply the patches from

   ftp://ftp.tvdr.de/vdr/Developer/Driver-Patches

to the LinuxDVB driver source.

From the HISTORY file:
- Fixed sorting recordings in the top level video directory.
- Fixed handling control characters in SI data in case of UTF-8 encoded strings
   (thanks to Mehdi Karamnejad for reporting a problem with garbled UTF-8 EPG data
   and helping to debug it).
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
- When checking whether a video directory is empty, file names that start with a
   dot ('.') are now ignored and will be implicitly removed if the directory contains
   no other files. This fixes the leftover ".sort" files that were introduced in
   version 1.7.29.
- Added IsUpdate() to the EPG handler interface (thanks to Jörg Wendel).
- Fixed detecting transfer mode on full featured DVB cards (thanks to Stefan Huelswitt
   for reporting a problem with updating CA descriptors in such cases).
- Fixed a race condition when zapping in transfer mode (reported by Reinhard Nissl).
   This involves a slight change in the semantics of the cReceiver::Activate() function,
   which is now called with 'false' after the receiver has been detached from the
   device.
- The new function cDevice::ReadFilter() can be used by devices to implement their
   own way of retrieving section filter data (thanks to Deti Fliegl).
- The new function cDevice::HasInternalCam() can be implemented by devices that
   provide encrypted channels in an already decrypted form, without requiring explicit
   handling of a CAM (thanks to Tobias Grimm).
- VDR can now be built according to the FHS ("File system Hierarchy Standard") by
   activating the line
   #USEFHS = 1
   in a copy of the file Make.config.template (thanks to Dennis Bendlin, as well as
   Christopher Reimer and Udo Richter for contributing to the patch).
- By default (without FHS support) the config directory is now set to the value
   given in the -v option if only -v and no -c is given.
- Fixed a long delay at the end when replaying a recording that has stopped recording
   less than an hour ago (typically time shift mode or a freshly edited recording).
- Fixed getting the file size and number of frames of ongoing recordings (only the
   timestamp of the recording's directory was checked, while it should have been that
   of the index file).
- Fixed sluggish response when manipulating editing marks while a cutting thread
   is running (reported by Torsten Lang).
- The new setup options "OSD/Color key [0123]" can be used to adjust the sequence
   of the color buttons displayed in the menus to that of the color keys on your
   remote control (based on a patch from Oliver Schinagl).
   Authors of plugins that implement skins may want to adapt their SetButtons()
   function in order to make use of this new feature. See, for instance, the function
   cSkinClassicDisplayMenu::SetButtons() in skinclassic.c for details.
2012-09-11 23:49:53 +02:00
Klaus Schmidinger
046b506748 Version 1.7.29
Original announce message:
VDR developer version 1.7.29 is now available at

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

A 'diff' against the previous version is available at

       ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.28-1.7.29.diff

MD5 checksums:

a3f0ae42ba456aa1865c9ed065a64d80  vdr-1.7.29.tar.bz2
39db6b495210c293726126fbcba3e631  vdr-1.7.28-1.7.29.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.

The default skin "LCARS" displays the signal strengths and qualities of
all devices in its main menu. For devices that have an stb0899 frontend chip
(like the TT-budget S2-3200) retrieving this information from the driver is
rather slow, which results in a sluggish response to user input in the main
menu. To speed this up you may want to apply the patches from

   ftp://ftp.tvdr.de/vdr/Developer/Driver-Patches

to the LinuxDVB driver source.

From the HISTORY file:
- Added a missing template specification to the c'tor of cSortedTimers (thanks to Udo
  Richter).
- Fixed the background color of the Transfer Mode indicator bitmap in the LCARS skin.
- The LCARS skin now only displays devices that can actually receive channels, leaving
  out, for instance, pure replay devices (suggested by Reinhard Nissl).
- Now scaling down the Transfer Mode indicator bitmap in the LCARS skin in case it
  doesn't fit with the selected font size (reported by Reinhard Nissl).
- Fixed making LCARS the default skin.
- Adjusted the default values for OSD and font sizes to better fit HDTV.
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
- Fixed the call to ChannelString() in cSkinLCARSDisplayChannel::SetChannel() (thanks
  to Rolf Ahrenberg).
- Removed DeleteEvent() from the EPG handler interface (turned out not to be useful)
  and replaced it with HandledExternally() (thanks to Jörg Wendel).
- Added SetComponents() to the EPG handler interface (thanks to Dirk Heiser).
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- Changed the button colors in the LCARS skin to better fit with the rest of the theme.
- Removed the gap from the main menu buttons in the LCARS skin.
- Fixed some copy&paste errors in PLUGINS.html (thanks to Winfried Köhler).
- The LCARS skin's main menu now only displays timers that are actually activated.
- Within the "Recordings" menu, pressing the '0' key now toggles sorting between
  "by time" and "by name". The selected sort mode is stored separately for each
  folder (provided you have write access to that folder).
  If a folder is newly created by a repeating timer, the sort mode for that
  folder is initially set to "by time".
- Fixed several spelling errors (thanks to Ville Skyttä).
- Fixed handling recording with more than two bonded devices.
- Fixed the type of MBperMinute in cVideoDiskUsage::HasChanged() (thanks to Andreas
  Mair).
- Setting the "broken link" or "TEI" flags when cutting recordings is now suppressed
  if the editing point merges two seamlessly fitting parts of the same stream (thanks
  to Torsten Lang).
- Fixed displaying messages in the LCARS skin.
- Fixed checking for a visible live programme in case a menu or the channel display
  is currently open.
- Changed some of the colors in the LCARS skin (you may need to delete the file
  lcars-default.theme from your themes directory to see these changes).
- The new setup option "Miscellaneous/Show channel names with source" can be used to
  turn on adding the source character to channel names whenever they are displayed
  (suggested by Ludi Kaleni).
2012-07-15 20:49:35 +02:00
Klaus Schmidinger
5500959f4f Version 1.7.28
Original announce message:
VDR developer version 1.7.28 is now available at

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

A 'diff' against the previous version is available at

       ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.27-1.7.28.diff

MD5 checksums:

3ccff2dcc42d112e23dd64f2c39f02f1  vdr-1.7.28.tar.bz2
7249ead4aca4b24e53d49d11c67e1613  vdr-1.7.27-1.7.28.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.

The new default skin "LCARS" displays the signal strengths and qualities of
all devices in its main menu. For devices that have an stb0899 frontend chip
(like the TT-budget S2-3200) retrieving this information from the driver is
rather slow, which results in a sluggish response to user input in the main
menu. To speed this up you may want to apply the patches from

From the HISTORY file:
- Fixed cPixmapMemory::DrawEllipse() for quadrants -1 and -4.
- Fixed getting the maximum short channel name length in case there are no short names
  at all (reported by Derek Kelly).
- The new function cDevice::DeviceType() returns a string identifying the type of
  the given device.
- Now limiting the number of characters of a channel's (short) name to 16 in the
  schedules menus, to keep that column from getting overly wide in case there is
  a channel with a very long name that has no short name.
- Fixed EPG scan on systems with only a single DVB device that use software output
  (reported by Juergen Lock).
- Skins can now inquire the menu category for which their cSkinDisplayMenu is currently
  being used. This can be done either through a call to cSkinDisplayMenu::MenuCategory()
  or by reimplementing cSkinDisplayMenu::SetMenuCategory(). This information allows a
  skin to use special icons or decorations for the various types of menus in VDR.
- The new setup option "DVB/Standard compliance" can be used to switch between different
  variations of the DVB standard (thanks to Rolf Ahrenberg). Currently there is "DVB"
  (for the original DVB standard) and "ANSI/SCTE", which is used to properly handle
  certain private stream types.
- The disk usage is no longer automatically added to the title of the main and
  "Recordings" menus. This has always been a mekeshift solution and it is now up
  to the individual skin if, where and how it wants to display this information.
  A skin can use the new cVideoDiskUsage class to implement such a display. For
  compatibility, the default skins "Classic VDR", "ST:TNG Panels" and "Text mode"
  (i.e. curses) have been changed to behave like before. Other skins may want to
  display the disk usage in totally different ways.
- A cOsdMenu can now handle skins that display different numbers of items in the
  various menu categories.
- OSD and skin are now reinitialized after a plugin setup page has been confirmed,
  to have them react immediately in case any change to a plugin's setup parameter
  has an effect on the OSD.
- The Timers list is now marked as modified whenever a recording starts or ends.
- Fixed cDevice::StillPicture(), making sure it doesn't call the derived class's
  function if no buffer has been allocated (reported by Marcus Roscher).
- Fixed the SVDRP command UPDR, which didn't update the global recordings list
  (reported by Lars Hanisch).
- cControl::Control() now has an additional boolean parameter, which can be set to
  true to get the current player control even if it is hidden.
- The new functions cControl::GetRecording() and cControl::GetHeader() can be used
  to retrieve information about what the current player is playing.
- Fixed a possible high CPU load when pausing replay (thanks to Reinhard Nissl).
- Fixed character comparisons in cSubtitleObject::DecodeCharacterString() (reported
  by Reinhard Mantey).
- Renamed the function cString::sprintf(const char *fmt, va_list &ap) to vsprintf(),
  because it might inadvertently be called with a 'char *' as the second argument on
  some compilers and cause a crash (reported by Sundararaj Reel).
- Removed the "bondedMasterFailed" mechanism from cDvbTuner, because it caused
  problems with the EPG scan in case a transponder is not receivable in a setup with
  bonded devices (reported by Michael Schneider).
- Making sure setup strings don't contain any newline characters (thanks to Joachim
  Wilke).
- The new member function cSkinDisplayReplay::SetRecording() allows a skin to display
  more information about the currently played recording.
- Fixed a mismatched 'delete' in cSchedules::SetEpgDataFileName() (thanks to Reinhard
  Mantey).
- The DrawText() functions of the OSD now accept the new alignment flag taBorder,
  which triggers keeping a proper distance from the edge that taLeft or taRight
  aligns to.
- Fixed checking for UTF-8 support in cFont::Bidi() (reported by Torsten Lang).
- If a recording has no info file, the 'title' of the recording's info is now set
  to the recording's name.
- cVector::Clear() now reinitializes any previously used members.
- Fixed resetting CAMs (thanks to Marco Skambraks).
- The new function RgbShade() (include osd.h) can be used to generate a brighter or
  darker version of a given color.
- The new class cSortedTimers can be used to quickly get a list of all timers, sorted
  by their start time.
- The new skin "LCARS" is an enhanced version of the "ST:TNG" skin (which is still
  there in its original layout, for those who don't like the LCARS skin, or can't use
  it due to OSD limitations). The LCARS skin utilizes the new "menu category" feature
  to display additional information on the main menu page. It shows upcoming timers
  and the system's devices, as well as which device is recording which timers. The
  upper pane of the main menu displays the programme data in live and replay mode,
  and a progress bar. An indicator on the right side of the device list shows which
  device is currently used for live viewing, and whether it is in transfer mode.
  The individual device displays show the device number, the device type, which CAM
  (if any ) is currently assigned to the device, and the signal strength and quality.
  On the left side of the OSD there is a permanent display of the current date and
  time, the disk usage and the system load.
  "LCARS" is the new default skin of VDR. It requires at least a 4bpp (16 color) full
  screen OSD, but you can still operate it if your OSD can handle only fewer colors
  (in which case you may want to switch to the "ST:TNG" or "Classic VDR" skin).
- Finally removed the code marked with __RECORDING_H_DEPRECATED_DIRECT_MEMBER_ACCESS
  and LEGACY_CRECEIVER.
- Now making sure that the "small font" is never larger than the "osd font".
- Fixed font handling with fontconfig 2.9.0 or newer (thanks to Joerg Bornkessel).
- Extended the interface to the script that gets called for recordings, so that in
  the "edited" case it also provides the name of the original recording (thanks to
  Christian Richter).
- Added DeleteEvent() to the EPG handler interface, so that an EPG handler can trigger
  deleting of an event (thanks to Christian Kaiser).
- Speeded up opening menus on systems with many (several thousands) of recordings, by
  caching the information whether a recording is stored on the video directory file
  system within the cRecording data (based on a patch from Torsten Lang).
2012-06-05 00:33:28 +02:00