Change log of nxtvepg releases
This document contains a list of all major changes between releases of nxtvepg.
Even more detailed information is available via the source code repository at the nxtvepg github site.
From 3.0.0 to 3.1.0 (Jul/23/2023)
Focus of this release are extensions to the support of the XMLTV specification and thus to the information available for display in the GUI. Additionally, a number of old bugs in the GUI were fixed.
- Theme category handling was enhanced to support this attribute exactly as present in XMLTV files: The pre-defined theme category table was replaced by a table that is created dynamically from the categories present in the loaded XMLTV file. A new filter dialog was added which can be used for browsing the list of all defined theme categories and for finding associated programmes.
- Support for several new programme attributes defined by XMLTV was added, namely "review", "new", "premiere" and "last-chance". The "audio", "video" and "subtitles" attributes parsing was updated to support new attributes defined by XMLTV. (Note you'll benefit from these enhancements only if your XMLTV provider supports these attributes.)
- Processing of parental and editorial ratings was enhanced by removing rounding to multiples of two and adding support for a Polish and an American parental rating category. For editorial ratings, the GUI now displays both the actual rating and maximum value.
- The expiry threshold filter dialog was extended to allow disabling the expiry time filter completely, so that even programme data that is completely expired can be viewed.
- Case-insensitive text search was corrected, so that it now also works as expected for text containing non-ASCII characters (i.e. locale-specific characters).
- The limitation to 254 channels when importing a database from XMLTV was relaxed to about 8000 channels and the import procedures were optimized to reduce load time for huge XMLTV files.
- Performance of several GUI dialogs was improved for large databases, namely the programme index filter and "Recurring titles" drop-down menu.
- Usability of the "Load XMLTV file" menu command was improved by replacing this command with a standard file selection dialog. The previous more complex dialog was kept as a separate menu command "Browse XMLTV files" with an additional possibility to configure file name extension of XMLTV files.
- Usability of the "Network name configuration" dialog was improved by omitting optional notifications and dialog sub-frames that are not relevant when nxtvepg is not configured to interact with a TV application.
- When using MS Windows, the "nxtvepg.ini" configuration file is now stored in the user's "AppData" directory instead of the current working directory. Note this means that a config file created by previous versions of nxtvepg will not be loaded automatically.
- Encoding of the config file has been changed to UTF-8 so that characters imported from XMLTV can be stored without corruption. If your system is not configured to use UTF-8 by default, it's recommended to delete your old "nxtvepg.ini" (MS Windows) or "config/nxtvepg/nxtvepg.rc" (Linux) file.
From 2.9.0 to 3.0.0 (Mar/22/2021)
After 10 years gap in development, this new release strips features that no longer are useful (namely Nextview EPG and analog TV driver for Windows), but improves support for those features that still work, in particular import of XMLTV import and the Teletext EPG grabber. In detail:
- The Teletext EPG grabber was enhanced to allow reception from DVB TV capture cards (Linux only yet). Digital TV channel tables can be loaded from mplayer, VDR, or compatible TV-applications.
- Capture duration of the Teletext EPG Grabber was reduced to a fraction by supporting concurrent acquisition from DVB channels sharing a transponder.
- Use of Teletext EPG grabber was simplified via an "auto-merge" feature, available directly via the "Control" menu or the Merge dialog.
- The Nextview-specific "series" filter was replaced with a new "recurring titles" filter.
- The database and teletext statistics displays were enhanced to show the same extent of information as formerly for Nextview EPG databases.
- XMLTV import was simplified by allowing to specify multiple files on the command line and directory selection in the load & merge dialog windows.
- The internal text for Text imported from XMLTV was switched to UTF-8
so that it supports encodings used outside of Western Europe.
- Nextview EPG support was removed, as this service is no longer provided.
- The integrated driver for analog PCI TV capture cards on MS Windows was also removed.
From 2.8.1 to 2.9.0 (Mar/22/2021)
This release mainly consists of enhancements done during the years 2008 to 2011, which at that time were only published in form of "pre-releases" (2.9.0pre0 to pre4). On top of these, except for a few small corrections, more recent updates only address issues with building the software with current tools and using it with current Linux drivers. The reason for making this release on the same day as 3.0.0 is providing one final version with latest and greatest support for Nextview EPG before its removal from nxtvepg.
- The Teletext EPG grabber was improved as follows:
- Implementation was converted to the C++11 programming language, which removes the dependency on a Perl interpreter and reduces processing time.
- The Teletext EPG grabber was updated to version tv_grab_ttx-2.2, which includes enhancements to scraping of EPG data from teletext pages.
- Teletext grabber: The "Now&Next" acquisition phase was optimized further so that in up to 30 networks can be scanned in 10 minutes.
- Import and export of files in XMLTV format was improved as follows:
- XMLTV was updated to use DTD version 0.5.56, which adds the "HDTV" and "audio:bilingual" feature flags.
- Export of Nextview EPG to XMLTV files now uses a configuration file "xmltv-etsi.map" for specifying channel identifiers, which allows for compatibility with XMLTV files generated by other grabbers.
- Several bugs in XMLTV import that blocked removal of expired programmes, lead to crashes during large number of merged databases and caused spurious gaps in EPG coverage were fixed.
- The internal text for Text imported from XMLTV was switched to UTF-8 so that it supports encodings used outside of Western Europe.
- Several minor enhancements were added in the graphical user interface:
- The "time scales" dialog was redesigned to allow scrolling vertically and horizontally (i.e. network list and the scales respectively.)
- The "Tune TV" button in reminder message popup was enhanced to use the command specified by the user in "Configure -> Context Menu / Tune-TV"
- A configuration option was added to the "Show/Hide" sub-menu which allows to hide the "Tune TV" button in the main window.
- The handling of all-expired EPG databases was slightly improved by allowing to make the expired programmes visible via the expire time filter setting.
- For Windows: The integrated Tcl/Tk library was upgraded to version 8.5.6 to benefit from bug-fixes and performance improvements since 8.5.0
- Nextview EPG support was enhanced as follows:
- Robustness of data reception against transmission errors was improved (e.g. for avoiding "ghost providers" or corrupted network lists)
- A bug in TV channel identification via VPS/PDC was fixed which sometimes caused endless toggling of EPG on-screen-display in the TV application.
- TV channel identification tables were updated according to latest ETSI specification (TS 101 231, 2015), so that new networks can be identified.
- A bug in the protocol between nxtvepg daemon and GUI was fixed which sometimes led to dropped data on client side.
- An acquisition timeout was added upon stalled reception, even when working on a single provider. This will stop acquisition when working with command line option "-acqonce".
- The EPG scan was enhanced to provide "Remove provider" buttons for additional possible error scenarios.
- Command line options were enhanced as follows:
- Implemented a new command line option "-epgquery FILTER" which allows to restrict programmes during export via "-dump" (see manual)
- The daemon was extended to allow simple remote queries for its EPG acquisition status. A new command line option (see daemonquery was added to perform such a query; a demo script was added to the manual to document the protocol and allow direct queries by other applications.
- The obsolete "-demo" command line option was removed. (XMLTV import can be used instead where no Nextview EPG is available.)
- For Windows: The integrated "dsdrv4" TV-card driver was updated:
- A bug which caused nxtvepg to lock up during auto-detection of SAA7134/SAA7133 based TV cards was fixed.
- Bugs in the driver for TV cards based on the Philips SAA7134 capture chip and tuner TDA8275/TDA8290 was fixed which prevented TV channel changes with error message "No tuner found on I2C bus"
- The TV card configuration database was updated (imported from DScaler) and a fix for cards with TDA9875/TDA8290 tuner was merged.
- The warning "Tuner not found on I2C bus" will now be suppressed if the tuner is configured as "unknown" as this used to annoy users with partly unsupported TV cards.
- Handling of system power event notifications (APM) was added to allow the system entering standby even while EPG capture is enabled.
- For Linux: The interface to the "video4linux" driver was updated:
- Remaining use of the "v4l1" interface (i.e. API version 1) was removed so that channel changes work with device drivers supporting v4l2 only.
- Several bugs in usage of the ZVBI library were fixed (only used when switch USE_LIBZVBI is enabled in the Makefile) that caused "forced passive mode".
From 2.8.0 to 2.8.1 (Oct/10/2008)
This release fixes many large and small bugs which have come up in release 2.8.0.
- Two independent bugs in the Linux driver interface were fixed which made acquisition fail to start on certain Linux installations. Thanks to "devport" and Uwe Bugla for reporting these bugs.
- A bug in the Nextview EPG data stream decoder was fixed which sometimes allowed half-received blocks to be used (under weak signal conditions and heavy packet loss), which then caused all network names to be blank.
- A bug in TV application channel table import was fixed which sometimes caused wrong names to be associated with channels. Thanks to "dj1985" for reporting this bug.
- Various display bugs were fixed which were introduced by the upgrade
to Tcl/Tk version 8.5 in nxtvepg release 2.8.0. In particular:
- The position of reminder markers and other images in the programme list behind titles with special characters was fixed (thanks to Kurt Lettmaier for reporting this bug.)
- Bugs in handling of special characters were fixed in several more configuration dialogs (Network name and Client/Server configuration, as well as HTML export from UTF-8 executables.)
- Windows only: A work-around was applied which fixes title search via context menu for titles containing special characters.
- UNIX: A bug was fixed which caused a crash immediately after start-up with Tcl/Tk 8.5.0 when the libraries were compiled with multi-thread support. Thanks to Enrico for reporting this bug.
- A bug in reminder message display was fixed which caused empty programme descriptions after the message was displayed. This only occured for databases which were imported from XMLTV files. Thanks to "m-unter" for reporting this bug.
- A new entry was added to the context menu which allows to disable reminder popups for selected reminder groups (to use the new feature you must add the new menu entry in the context menu config dialog.)
- The HTML export was fixed to be fully compliant with HTML 4.0
- Database export via option -dump was changed to apply the expire threshold configured by the user via GUI (before, all expired programmes were included in the export.) Thanks to Jürgen (jb) for reporting this bug.
- Changed XMLTV import to allow overriding of network identification codes via xmltv-etsi.map even for files written by the teletext EPG grabber with a valid VPS/PDC code. Also the network identification map (xmltv-etsi.map) was extended for the teletext grabber for networks with inconsistent VPS/PDC identification.
- A bug was fixed in the INI file upgrade from nxtvepg versions 2.7.7 or earlier, which caused loss of the network name configuration. Additionally compatibility between UNIX and Windows INI/rc files was restored. Thanks to Kurt for reporting this bug.
- Bug fixes in endian conversion in the acquisition daemon protocol have restored compatibility between big- and little-endian architectures.
- Prepared binary compatibility between 32-bit and 64-bit systems for database files and the daemon protocol (enabling compatibility requires to define compile switch USE_32BIT_COMPAT in the Makefile; not enabled by default to maintain backwards compatibility for existing 64-bit databases)
- The network name and network selection configuration dialogs were improved, especially for use with databases imported from XMLTV.
- A bug in the separate "tvsim" debugging tool was fixed which made that tool near unusable on Windows systems since release 2.8.0. Thanks to Kurt for reporting this bug.
- The teletext grabber script was adapted to recent changes in formats of German teletext broadcasts. Thanks to Jürgen (jb) for the feedback.
From 2.7.7 to 2.8.0 (Dec/31/2007)
Version 2.8.0 was in development from 2005 - 2007 and has lived on the pre-release page during this time. Bug fixes and minor feature improvements have been back-ported to the 2.7.x line though and were released as 2.7.5 - 2.7.7. Hence the following just lists major new features and improvements.
- Possibility to compile separate daemon "nxtvepgd" without GUI for performing data acquisition only (mainly intended for Linux-based media appliances without X11 libraries.)
- Grabbing EPG data from regular teletext pages (still experimental and hence disabled by default.) Note: for UNIX this feature is also available as a separate Perl script. (See also nxtvepg teletext grabber documentation)
- Import and merge of EPG data from external sources via files in XMLTV format. This feature is also used by the internal teletext EPG grabber. Note the XMLTV parser source code is available as a separate package: tv_grab_ttx-0.7.tar.gz
- Windows: extended the communication protocol for TV applications to allow to transport more EPG data (more details, multiple programmes) and to use the nxtvepg daemon; requires new plugin for K!TV (NextViewPlugin.dll, included in win32 package)
- UNIX: Implemented new communication protocol for TV applications which allows to more EPG data (Download the tvsim package to get a demo.)
- UNIX: added possibility to use an external program to display EPG info OSD above the TV image via the TV app. interaction configuration
- Added new command line option -provscan de|fr|at|ch: runs an EPG scan without GUI. It can also be used by nxtvepgd, so nxtvepg can now be set up without ever using the GUI (except for some advanced acquisition options.)
- Implemented command line option -remctrl for UNIX (was previously supported on WIN32 only.)
- Added support for export in HTML format via the command line: -dump html (does not support all features available in the GUI though.)
- WIN32: added support for card vendors' WDM drivers via a separate
WDM interface library
(note: DLL is not included in the release as it's still experimental)
Many thanks to Gérard Chevalier for developing the library in the years 2004 - 2006. - Upgrade of the Tcl/Tk library from version 8.3.4 to 8.5.0 (to benefit from this UNIX users must also upgrade their installed Tcl/Tk libraries, which is highly recommended due to improvements in the overall look & feel)
From 2.7.6 to 2.7.7 (Jan/21/2007)
- Implemented new algorithm in EPG stream decoder to improve performance under bad reception conditions (i.e. with high data loss rates)
- UNIX: bugfix in TV app detection -> fixes interaction with "tvtime"
- WIN32: update of TV card drivers (import of latest DScaler version): SAA7134 and CX2388x card config is now read from INI files; added support for TV cards with TDA8275/8290 tuner; driver-adaption for 64-bit platforms
- Minor bugfix in display of user-defined separators in programme list's context menu
- Minor bugfix in reminder message popup windows: font for programme title can now be changed with "pi_font" in the resource file (i.e. file Nxtvepg.ad or via X11 resources on UNIX)
- Linux: Work-around for bttv driver bug in kernel 2.6.16 (fixed in
2.6.18)
Thanks to all the people in the nxtvepg forum who helped debugging this and esp. to Lars for providing the first work-around. - Linux: improved portability of timezone offset calculation
- Excluded deceased providers "RTL2" (Germany) and "VT" (Belgium) from documentation and the EPG scan's list of pre-defined providers.
- Many fixes and improvements in the German documentation
Thanks again to Kurt Lettmaier.
Thanks again to Néo for once more providing the installer for the Windows version.
From 2.7.5 to 2.7.6 (Aug/14/2005)
- Added German translation of the manual and help pages. Many thanks to Olaf Noehring and Kurt Lettmaier for contributing the translation.
- Major bugfix in reminder removal (when removing multiple reminders in the same order they were created, the wrong reminder was removed and nxtvepg could even crash.) Thanks to Kurt for reporting this bug.
- Added menu entry "Edit filter-based reminders" to promote the possibility to create reminders based on shortcuts.
- Minor fix in XMLTV export (DTD 0.6): several elements were not in the correct order, which caused warnings with some XML processors
- UNIX: Provider scan now issues an appropriate error message upon device errors (Thanks to Andreas for reporting this problem)
From 2.7.4 to 2.7.5 (Apr/8/2005)
- Fixed HTML export (not all text format options were processed, weekday color column was not implemented) and improved layout
- Fixed timezone format in XMLTV output (DTD 0.5, local timezone only) Thanks to Laurent Garnier for reporting the bug.
- XML export: format can now be selected via command line options
- Added command line option -outfile ...
- Improved network/channel identification by VPS/PDC during interaction with TV applications (e.g. TV5 was not identified)
- Added support for reading channel table of K!TV 2.3 Thanks to Quenotte for providing a patch.
- Windows only: fixed !wintv! keyword handling in scripts bound to reminder events (this was already supposed to be in 2.7.4 but lost somewhere)
- Windows only bugfix: "Record this show" did not appear in context menu when connected to K!TV
- Bugfix: missing error-check in time conversion lead to inconsistant start/stop times around daylight saving time switch (which lead to error "database corrupt" during reload)
This release is result of a "back-port" of bugfixes made on the 2.8.0 development branch into release 2.7.4.
From 2.7.3 to 2.7.4 (Dec/27/2004)
- Bugfix EPG teletext number update in database: after external channel changes from one provider directly onto another there was a possibility that a wrong teletext number was stored for the first provider, subsequently causing acquisition to fail; also changed the EPG scan to update the teletext numbers stored in the databases
- Added output of current EPG page number to acquisition statistics in control menu
- Added possibility to store "expire time" filter in shortcuts
- Fixed timezone calculation for provider "VT4"
- Windows: updated TV card support; Note a new version of the DScaler "dsdrv4" driver will be installed the first time you start nxtvepg (unless version 4.03 was already installed by another application)
- Fixes in the way provider and network names were passed to Tcl/Tk for display in main window status bar and various dialogs (only relevant for names corrupted by transmission errors, but did cause sporadic failure)
- Fixed default setting for context menu: was empty since 2.7.1; Windows only: also fixed !wintv! keyword handling in scripts bound to reminder events
- Fixed bug in text search filter for merged databases: sub-string search ended after 258 characters
- Added possibility to configure text foreground colors (at least for programme list) to support an inverted color scheme (configurable via .Xresources or Nxtvepg.ad)
- Added new display format option for composite attributes (i.e. user-defined columns): set foreground color for entire column
- UNIX: added "XdTV" (former xawdecode) to internal list of TV apps with which nxtvepg can exchange EPG info
- XML export: omit newline (i.e. line break) at start and end of description text (on user request esp. for DTD version 5); also in DTD version 6 descriptions merged from multiple providers are now exported in separate description attributes instead of concatenating the text into one with newlines in-between.
- Fixed bug in handling external video input source during EPG provider scan which caused misleading help messages
- Added work-around to catch "panic" (i.e. internal errors) in Tcl/Tk library, esp. to cleanly shut down acquisition. On Windows this fixes annoying popup messages when switching desktop display to full-screen (e.g. upon start of some game).
- TV app. interaction development tool vbirec: added possibility to send commands and EPG OSD infos to a connected TV app (to allow testing this feature without nxtvepg)
From 2.7.2 to 2.7.3 (Sep/5/2004)
This release contains two bugfixes:
- Fixed backwards compatibility with K!TV (since 2.7.2 there was an error message incompatible shared memory size)
- Fixed description of -clock option in output of -help
From 2.7.1 to 2.7.2 (Aug/30/2004)
This release contains the following feature improvements and bugfixes:
- Fixed bugs in XMLTV database export, both DTD versions 0.5 and 0.6 (bugs were introduced during introduction of 0.6 in version 2.7.1) Thanks to Steffen Siebert for pointing these out.
- Added tvtime to the list of TV applications supporting interaction with nxtvepg (via "xawtv-remote" connection; import of tvtime's channel table is not supported yet though; Note: requires tvtime version 0.9.13 or later) Thanks to Billy Biggs.
- Added new command line option -clock which allows to acquire the current date and time from teletext and update the system time with it. (Warning: implementation is still preliminary; usage of this option may change in subsequent versions of nxtvepg.)
- Made the tvsim tools compilable on *BSD platforms, thanks to Simon Barner for the patch (note: still untested; please report if it actually works.)
From 2.7.0 to 2.7.1 (Jul/17/2004)
This release contains the following feature improvements and bugfixes:
- Bugfix in local time option for XML database export (times were still in GMT only, regardless if the option was enabled or not)
- Added support for the new XMLTV DTD 0.6 (note command line option -dump xml uses the format which was used last in the Export as XMLTV dialog)
- Fixed -daemonstop option for Linux and v4l2 devices (2.6 kernels): did sometimes not work after the user interface was used.
- Added support for new UNIX TV app: Zapping, i.e. reading channel table from zapping.conf. (Note: interaction with nxtvepg was implemented in zapping too: you can check it out from CVS at zapping.sf.net)
- Bugfix in acq stats: when connected to acquisition daemon VPS/PDC info was not displayed
- Added work-around for daylight saving time changes and local time zone handling specifically for Turkish provider TRT.
- Made programme list's context menu fully configurable: pre-defined commands for filter and reminder control can be re-ordered now too (in addition to external commands); also removed the need to press the dialog's "Update" button after changes (which was a long standing entry in the TODO list) (Read man page.)
- UNIX/X11: display Nextview logo in main window title bar (only works for window managers which support the WM_ICON feature, e.g. fvwm2 or Gnome)
- Bugfix: columns in the main programme list were not resizable, i.e. the pull-down menu appeared even when clicking onto the column header button's right border (single list layout only)
- Bugfix: option -provider merged did not work in daemon mode (acq for merged database did work though, if pre-configured as default in the .nxtvepgrc or INI file) Thanks to Georg for reporting this bug.
- Linux: bugfix in v4l2 support (fixes problems with PVR-350 cards.) Thanks to Urs Schaufelberger and Hans Verkuil for the patch.
- Windows only: fixed weekday colors in the weekday scale: colors did not match those in the "weekday color" attribute in the programme list; thanks to everyone who reported this bug in the forum.
From 2.6.0 to 2.7.0 (Apr/02/2004)
This release contains the following feature improvements:
- Changed shortcut presentation from flat list into hierarchical tree, i.e. added possibility to use nested folders and also separator lines. (Read man page.)
- Added improved "teletext slicer" to reduce decoding errors on TV channels with weak reception: was available since 2.5.2, but had to be selected at compile time by -DZVBI_DECODER switch. Now configurable in TV card input configuration dialog. (The slicer is derived from libzvbi and alevt.) (Read man page.) Also extended acquisition statistics output with decoding errors. (Read man page.)
- Improved TV app EPG OSD for channels with multiple networks (Arte/Fr5): using user-configured "air times" in network selection configuration dialog to determine which network is currently received in case VPS/PDC is not available. Thanks to salokyn for the suggestion. (Read man page.)
- Added work-around for flip-flopping of program title popups on Arte/Fr5 in France: appearently Fr5 sends Fr5 PDC code, but Arte VPS. Solved by allowing to suppress false EPG popups by means of air times configuration. Thanks to Simon for test and debugging support.
- Extended variable substitution for user-defined commands in context menu configuration: an optional time offset can be added to start and stop times, e.g. to start a recording 5 minutes before the official start time. (Read man page.)
- Added new command line option -acqonce for daemon mode: automatically stop acquisition and terminate the daemon after the given phase has been completed for all providers. (Read man page.)
- Windows: added new command line option -remctrl: can be used to remote control an other, previously started GUI instance (i.e. non-daemon) of nxtvepg. Currently supported are commands to start/stop acquisition, close/raise/iconify the other instance's main window. (Read man page.)
- Windows: extended hardware support to include new Microtune tuner MT2050 (e.g. used in new Pinnacle PCTV Rave and MSI TV @anywhere TV cards) and Philips MK3 tuner in combination with TDA9887 (used in Leadtek's CX23881 card; Thanks to Gérard Chevalier for debugging support; Thanks to Gunther Mayer for the MT2050 code which was originally posted to the v4l ML) (See also system requirements)
- Introduced compatibility between database file names on Windows and Linux, i.e. Windows can load databases written by Linux and vice versa without renaming the files (note: use -dbdir command line option to specify the path to the directory with the alternate OS's databases)
- Right mouse button in main window now selects the programme entry below the mouse before opening the context menu. Thanks to Jörg for the suggestion. (Read man page.)
- Added new EPG provider "VT4" (Belgium) as of March 2004. Thanks to "Néo" for providing the info. (See provider list)
- UNIX: added support for zvbi library: requires change in Makefile (add compiler switch -DUSE_LIBZVBI) and re-compilation; also added preliminary support for VBI proxy (add compiler switch -DUSE_LIBZVBI_PROXY; note the proxy API is still subject to change)
Plus the following fixes:
- Linux: set channel change priority to "background" to prevent channel changes while TV app is running (for v4l2 drivers, e.g. saa7134 or bttv9; requires kernel >= 2.6.2 or recent v4l2 modules snapshots from bytesex.org) Thanks to Gerd Knorr for accepting my proposal for his video4linux drivers.
- Bugfix for shortcut lists which are too long to fit into the main window: scrolling with middle mouse button did not work. Since there's no scrollbar lower shortcuts were inacessible. Thanks to Udo for pointing this out in the discussion forum and for providing feedback.
- Bugfix in user-defined context menu commands based on !wintv! and !xawtv!: argument count which was reported to the external program was wrong, hence some apps did not accept the command. Thanks to Rami for debugging support.
- Bugfix date scale: shows Sunday twice during switch from daylight saving time back to regular time (00:00 localtime + 24h is still the same day at that special day :) Note that wrong start times for TV programmes after the time switch are faults on side if the content providers. Also weekdays in the scale are now printed in the local language.
- Compile and build process improvements: added warning message to Makefile make is started with "make nxtvepg" (you should type only "make") to prevent make failure due to missing header files. Also note the build process was restructured so that all generated files are placed into a sub-directory called "build-<platform>" to allow building on multiple platforms in parallel
- Bugfix in build procedure: tcl2c.c crashed on 64bit platforms Thanks to Simon Barner and Gerd Knorr for the bug reports.
- Fixed memory leak in Xawtv window detection (for every newly created toplevel with a WM_CLASS property a few bytes were not freed)
From 2.5.2 to 2.6.0 (Oct/11/2003)
This release contains the following new features:
- Implemented reminders, i.e. bookmarking and message/command dispatch for selected programmes or shortcuts
- Added weekday scale to the right of the programme list (note that colors and text are configurable via the nxtvepg.ad file or X resources on UNIX)
- Added new programme list attribute type "weekday color", i.e. use colors (same as in weekday scale) to mark programmes instead of words "Fri" etc. Thanks to Peter Rolf for the idea. Note: for the grid layout this attribute isn't supported very well yet. Suggestions for improvement are welcome.
- Added an expire time filter to the filter menu, i.e. the possibility to display descriptions of TV shows which have already finished. The delay after which expired programmes are removed from the database is configurable (note large delays introduce performance penalities.)
Plus the following feature improvements:
- Free choice of colors in "compound attributes" (user-defined columns and grid elements). Thanks to Peter Rolf for suggesting this improvement. Also added new format types to change background colors of single attributes or the entire programme element.
- Extended start time filter: in addition to "daily" and "relative day offset" new modes "weekly" and "monthly" are supported; also date range for relative offsets was extended from 1 to 2 weeks.
- Improved text search dialog (yet again): active searches are now displayed in a list above the test entry field. There's also a sub-dialog which allows to paste multiple search texts at once, i.e. a list of movie titles;
- Added shortcut combination modes "OR" and "AND" which keep filter of such shortcuts separate instead of merging them all into one as before; this allows logical OR or AND between complex shortcuts, i.e. "movies on net A" OR "series on network B"; with merge you'd have got "movies or series on network A or B"; see manual chapter "Shortcuts" for more details.
- Added new key binding for key "i": display EPG info just like upon a channel change in a connected TV application.
- Added new command line option -daemonstop: terminate daemon process to simplify controlling acquisition by use of scripts, esp. on M$ Windows
- Added possibility to invoke Xawtv remote commands via the programme list's context menu, by use of prefix !xawtv! (e.g. switch the channel to the selected title with command: !xawtv! setstation ${network})
Plus the following fixes:
- Bugfix for possible crash when opening the alphabetical series list in the filter menu (mainly a problem on 64bit platforms.) Thanks to Helge Kreutzmann for the bug report.
- Bugfix tuner frequency setting for MT2032 in PAL mode. Thanks to Manfred Folgmann for debugging support.
- Windows: fixed bug in database directory handling: startup was aborted if the directory was the root of a mounted share (e.g. //remotehost/share) Thanks to Manuel for reporting this bug in the forum.
- Windows: user-configured commands in context menu: omit quotes around command substitutions, use escape instead (requested by "progro")
From 2.5.1 to 2.5.2 (July/1/2003)
This release contains the following fixes:
- Windows BT8x8 driver: restore settings for all PCI registers upon shutdown (solves problem with Hauppauge WinTV, thanks to Peter Rolf for pointing this out; also solves problem with BtWinCap driver, as pointed out anonymously in the discussion forum 2003-June-07)
- Windows: fixed support for Microtune tuner "MT2032" (e.g. on Pinnacle cards) Many thanks to Oliview Avenel for debugging support.
- Windows: updated & added TV card configuration from DScaler CVS
- Windows: added "Close this menu" entry to systray menu (workaround)
- removed German network 3sat from list of known Nextview EPG providers
- XML export via control menu dialog no longer applies current filter setting, i.e. all programmes of all networks in the database are exported.
- fixed compiler warnings for gcc 3.3 (signed/unsigned type conflicts)
- UNIX: added compiler switch -DZVBI_DECODER in the Makefile to replace VBI (Teletext) slicer with code from libzvbi which performs better on channels with weak reception; sometimes this slicer seems to eat up a lot of CPU (up to 25% on my 400MHz K6-2)
From 2.5.0 to 2.5.1 (April/21/2003)
This release contains the following fixes and improvements:
- Fixed French default shortcut "Météo" (did pop up an error message when invoked. At first start of 2.5.1 the broken shortcut is replaced in the rc file; if that does not work remove and re-define the shortcut manually via the "Shortcuts" menu)
- Improved resizing: status line no longer vanishes when reducing (however the window bottom now "jitters" during vertical resizing)
- Allow horizontal resizing of main window when in "grid" layout (UNIX only)
- Display warning about "lost changes" when the window is closed via it's title bar "close" button, same as with the "Abort" button
- TV app interaction configuration dialog: added TV app selection for UNIX, to select which channel table to use, i.e. select between xawtv or xawdecode
- Don't require existance of .xawtv for TV app interaction on UNIX
Thanks to "Sir Pingus" for suggesting this fix. - Programme list can now be scrolled by dragging with the middle mouse button
- Grid layout: added +/- buttons to control column count;
Thanks to Thorsten for suggesting these features in the discussion forum - Disabled "Show column headers" option for the grid layout
- Grid layout: refresh no longer brings scrolled-out elements back into view
- Added French network "M6" back to the EPG scan's list of "known providers"
and documentation.
Thanks to Thierry for pointing this out first. - Major bugfix in grid layout: when scrolling horizontally one programme could be inserted into the wrong network column under certain conditions
- Bugfix EPG provider scan in non-TV-app-assisted mode: channels without signal often were not skipped due to uninitialized variable (bug was introduced in nxtvepg version 0.7.2). Thanks to Florian Zierer for indirectly triggering discovery of this bug.
- UNIX: added new command line option "-tvdisplay" to allow communication with a TV app running on a different X11 server (e.g. a remote host). Thanks to Stefan Zoller for suggesting this feature.
From 2.4.2 to 2.5.0 (March/22/2003)
This release contains two independent new main features:
- An alternate TV schedule presentation layout with separate columns for each TV network, similar to the layout principles used by paper based TV magazines. See a comparison of screenshots of the alternate regular layouts.
- For the Windows version, support for new TV cards with the Philips SAA7134 and Conexant CX23881 chips and a new TV card configuration dialog with card and tuner auto-detection.
In detail:
- Added an alternate layout for GUI: programmes are still sorted by start time, but presented in separate columns for each network. Schedules of different networks are aligned, so that programmes which run at the same time are approximately at the same height. The new layout also supports user-defined presentation, i.e. free selection of all attributes which are printed for each programme, possibly depending on filter shortcuts (for example you can print more details for movies), plus marking selected programmes by use of colors and icons.
- Added support for Philips SAA7134 capture chip on Linux and M$ Windows. This chip is used in Tevion MD9717, Medion 5044, Terratec Cinergy 400, Typhoon TV+Radio 90031, LifeView FlyVIDEO3000 & 2000 and more. Note: for Linux driver version saa7134-0.2.6 or newer is required. (Thanks to Gerd Knorr and SuSE labs for the Linux saa7134 driver and to the DScaler team for their SAA7134 support on M$ Windows - the driver in nxtvepg is effectively a stripped-down version of the DScaler driver, with some extensions to allow VBI-only acquisition)
- Also added support for Conexant CX23881 on M$ Windows (Linux driver for this chip is currently in development and should automatically work with nxtvepg.) This Chip is used in Hauppauge WinTV Go and PCI-FM (model 718) cards since September 2002. (Driver code was derived from DScaler, too)
- Windows: Redesigned TV card configuration dialog to include lists of known cards and auto-detection (for cards which support it). This finally allows to support cards with "special" hardware configurations, e.g. from Pinnacle. For convenience the dialog can be accessed from the EPG provider scan dialog. Also updated Bt8x8 I2C bus code and improved support for tuner MT2032.
- Windows: Added ACPI handling to prevent "freeze" with the btwincap driver
- UNIX xawtv: implemented "overlay" EPG popup based on nxtvepg controlled window (no longer uses "vtx" removed command, which was removed in xawtv-3.7x) The colors can be configured via the new resources xawtv_overlay_fg and xawtv_overlay_bg (see manual for details)
- UNIX: the Nxtvepg app-defaults file is now loaded during startup because some user's didn't realize they should have copied modified entries into their $HOME/.Xdefaults
- Fixed bug in description text redundancy removal from 2.4.2: texts with less than 30 characters length were not removed. Thanks to Thierry for pointing this out. Also fixed a bug which caused text truncation.
- Fixed bug in text decoder which caused some national characters to be displayed falsely, e.g. "D'ECONSEILL'" instead of "DÉCONSEILLÉ".
- Fixed bug in "global invert" filter matching (depending on which filter types were inverted, expired programmes could have shown up in the listing)
- added possibility to combine several text searches (logical OR)
- added fixes for FreeBSD and NetBSD provided by Simon Barner
- added Linux "devfs" compatibility, i.e. find /dev/v4l/vbi
- added Makefile fixes provided by Debian maintainer Gerd Knorr
- fixed SEGV during build on IA64 due to missing include in tcl2c tool (reported to Debian bug tracking by Bdale Garbee)
Note that this version has many changes in the rc/ini file format. Your previous rc/ini file will be automatically converted and can then no longer be loaded into older nxtvepg versions.
Windows users should also note that this release comes with a new version of the DScaler TV card driver (files dsdrv4.sys and dsdrv4.vxd). This driver version is backwards compatible, i.e. it will work with applications which expect an older version, unless these applications don't allow newer driver version numbers.
From 2.4.1 to 2.4.2 (December/8/2002)
This release fixes the following problems:
- Windows: Fixed Tuner parameters for "Philips SECAM/PAL-BG"; Thanks to Rami el Baida and Pascal for reporting this bug.
- Windows: Fixed "maximizing" the main window: now only the window's height is maximized, the width remains unchanged.
- Fixed keyboard input handling for various configuration dialogs: popup menus can now invoked by ALT-<underlined char> (note there's still a Windows bug which prevents opening the popup multiple times subsequently); buttons with dynamically changed labels do accept input focus by the TAB key.
This release also contains the following improvements:
- Implemented redundancy removal in description texts of French providers (e.g. multiple "Au sommaire: ..." paragraphs). (Note that these repetitions exist because both a short and long version of the programme description is broadcasted; nxtvepg displays these together, but in TV sets they would normally appear on different pages)
- Windows: use bold font for clock (suggested by Thierry)
From 2.4.0 to 2.4.1 (December/1/2002)
This release fixes the following problems:
- In generated HTML files the ".png" extension was missing in references to images used in user-defined columns.
- Tuner parameters for "Philips PAL/SECAM multi (FQ1216ME)" were incorrect in version 2.4.0. Thanks to Volker Beck for pointing this out.
- Invert flag for "Program index" filter was not reset with the "Reset" button
- The main window's column selection config button was not removed when the "column header" menu buttons were hidden via the "Show/hide" sub-menu of the Configure menu.
- Bugfix in XML output: removed linebreaks inside the <title>...</title> element, which appearently caused mythtv to display empty title lines. Thanks to David Klotz for reporting this bug.
- Bugfix in importing tuner types from DScaler INI file & update for DScaler version 4.0. Thanks to Ronceval for reporting this bug.
This release also contains the following improvements:
- Added a new "column header" popup menu for user-defined columns, which consists of the shortcuts used to define the column.
- Improved handling of start time and duration filter dialogs (more flexible parsing; removed requirement to press Return key after every single change; made it possible to enter value "23:59" with the scales)
- Added preliminary support for tuner MT2032 (e.g. used in Pinnacle PCTVpro) by copying the required source code from the DScaler project (who seem to have copied it from the Linux BTTV driver). Note that some cards with MT2032 still will not work because they use an additional chip besides the tuner which is not yet supported.
From 2.3.1 to 2.4.0 (November/19/2002)
This release contains the following new features and improvements:
- Implemented user-defined columns in TV schedule output, which allow to define the column content depending on matches against a number of filter shortcuts; the content can consist of static text, pre-defined images or a standard attribute. See the manual or this screenshot for details.
- Implemented inverted filters, i.e. you can now search for all programmes which do not match one or more of given filter criteria or simply invert the outcome of a complete filter setting.
- Improved filter shortcut edit dialog: added "invoke" and "update" buttons to transfer a shortcut's filter setting to and from the programme browser for easier management of filter settings. Also fixed several bugs in the filter decription output for the "feature" filter type.
- Changed background color of text output elements to a lighter gray (note: if you don't like the new colors you can change them by adding resource definitions to your .Xdefaults file on UNIX or by editing Nxtvepg.ad on Windows; details see FILES section in the HTML manual page or help)
- New pre-defined column type: duration (suggested by Thierry)
- Fixed copy & paste in short-info window for Win32 (Thierry)
- Added a new filter type: "VPS/PDC" which allows to search for programmes with a VPS/PDC timestamp attached, and/or whose VPS/PDC start time differs from the actual start time (i.e. shifted or newly added programmes)
- Enhanced start time filter: added an option "ignore date" which allows to search for programmes in a daily time window (e.g. restrict a search for German new magazine "Tagesschau" to 20:00-20:10)
- Added key binding for F1 key in all dialog windows and added a context menu to the shortcut list (Thierry); also changed some bindings in the main window: a double-click on a programme now invokes the "TuneTV" function; CTRL-up/down scroll the list +/- 1 line.
- Added a new option to the "Show/Hide" configuration menu, which allows to map the network filter list below the shortcut list (Thierry)
- Localized shortcut defaults for Germany and France (Thierry)
- Weekday names are now printed in the local language (defined by the locale setting) (This change was formerly listed for version 2.3.1 but missing)
- Added database export in XML format (according to xmltv.dtd), provided by Massis Sirapian.
- Extended wheel-mouse support for M$ Windows (appearently before it worked only with a few mouse driver configurations)
- Improved help text formatting: now bulleted items are indented.
- Added support for FreeBSD; Thanks to Simon Barner for providing the patch.
- Fixed database directory and files mode handling on UNIX: 1- do not "repair" dbdir mode to 777 upon every start, 2- create db files with mode 644, 3- allow to put dbdir into each user's $HOME via the Makefile. Thanks to Matthias Brill for the suggestions.
- HTML export improved: in addition to support for user-defined columns, different columns than the main window is using can be specified for the title table.
- Added "TV5" back to the list of active providers; Thanks to Anthony for pointing out that TV5 is providing Nextview service again.
- Windows: implemented workaround for Hauppauge "WinTV2000" app: TV image was too dark when the app was started after nxtvepg; Thanks to Peter Rolf for debugging the problem.
- Windows Bt8x8 driver: fixed parameters for several TV tuners
- UNIX: improved error messages upon failure to access /dev/vbi or /dev/vbi at start of acquisition and EPG scan: now the system error mesage is included (e.g. "permission denied"); the previous message was misleading. Thanks to Thomas Hartmann for reporting this problem.
- Bugfix for Power-PC architecture in pioutput.c; Thanks to Gerhard Tonn
- Internal changes: split Tcl/Tk script for GUI into modules (the daemon only loads the script which manages the rcfile - saves apx. 400 kB RAM)
Thanks to everyone who provided feedback and suggestions, especially to Thierry Ménétrier.
From 2.3.0 to 2.3.1 (October/13/2002)
This release fixes the following problems:
- Bugfix: crash when selecting a network with unknown ID in the network selection configuration dialog (uninitialized pointer variable; crashes not on all platforms). Thanks to Udo A. Steinberg for reporting this bug.
- Weekday names are now printed in the local language (defined ba the locale setting on UNIX). Thanks to Thierry for the suggestion.
- Fixed the case of French theme names: first character is now upper case.
- Fixed "Time" column header drop-down menu (was broken with 2.3.0): the NEXT entry behaved like NOW, discrete times used to jumped to the first programme which was running at the given time, opposed to the first which started at or after the given time (a matter of taste, but I found it to be confusing).
- Improved "Date" column-header drop-down menu: it now has as many entries as days covered by the database (also depends on current filter setting)
- Improved "Getting Started" section in the manual.
- Windows: fixed permissions for TV card driver: before, admin or power-user status was often required to start the driver (i.e. to start acquisition); now there's a workaround that lets the driver "try harder" to grant this right to everyone.
Also note that the nxtvepg Internet homepage has moved from tripod.com to http://nxtvepg.sourceforge.net/ because the old site no longer could handle the traffic. Many thanks to the sourceforge.net team for accepting the project and to Thomas Schlebusch and Peter Schumacher for providing temporary mirrors during the transition period.
From 2.2.1 to 2.3.0 (September/17/2002)
This release contains the following new features and fixes:
- Bugfix in user-defined context menu entries: variables using modifiers (e.g. ${start: %H:%M %d.%m.%Y}) sometimes had trailing garbage; this bug was introduced in 2.2.0. Thanks to Friedrich Delgado Friedrichs for pointing this out.
- Bugfix in decoding of description texts (newlines were not processed correctly sometimes); also improved text display by inserting paragraph breaks when there is a completely empty line in the original description text
- Added "duration" filter, so that programmes ouside of given running time length boundaries can be suppressed (e.g. filler programmes which are less then 10 minutes long)
- Added possibility to manually resize all listbox columns by dragging the right border of the column header menu buttons (not possible if headers are disabled in the "show" options of the configure menu). Note that the automatic resizing of the network name column was dropped in favour of this feature.
- Timescale windows are now always made large enough to display the time range covered by all programmes in the database (formerly only the next 5 days were covered, which was by far not enough for the German provider Kabel1)
- Added zoom and help buttons to the timescale windows
- Improved key bindings and default keyboard focus in main browser and dialog windows; CTRL-F in main window now opens the text search dialog; CTRL-C opens the context menu; digit keys now toggle shortcuts; Return tunes the channel like pressing the Tune-TV button
- The search text history is now accessible from inside the text search filter dialog (by pressing the down cursor key or clicking the arrow button next to the text entry field)
- The "Refresh" mode of the EPG scan now allows to remove databases of obsolete providers which no longer transmit Nextview EPG (e.g. Pro7 or TV5). Thanks to Frank Mauler for pointing out the need for this feature.
- Added a "Load all used" button to the sorting criterion filter dialog which fills the sorting criterion selection listbox with a list of all codes that are actually used in the current database. This allows a quick overview which criteria will produce any matches when filtered for.
- Linux only: fixed tuner frequency setting (in particular the EPG scan) for SECAM/PAL multi-norm tuners. Thanks to "Keuleu 36" for debugging this problem
- UNIX only: fine tuning offsets and TV norm in the .xawtv file are now evaluated for the EPG scan
- Windows: enabled multi-card support (see changelog of version 2.2.0)
- Internal reorganization of the interface between Tcl/Tk and C modules (using the "object-based" Tcl interface for function arguments and results)
Note that this release comes with a new version of the Win32 DScaler TV card driver (files dsdrv4.sys and dsdrv4.vxd) which is not compatible with K!TV versions 1.2.0.2 and earlier. Except for multi-card support nxtvepg will work with older drivers too, hence if K!TV complains you can simply replace the driver files with older versions.
From 2.2.0 to 2.2.1 (August/24/2002)
This release contains the following fixes:
- Major bugfix: nxtvepg crashed frequently due to a memory overwrite bug in the description text display function. The bug exists in all previous versions! (It surfaced only now because some very long description texts were transmitted by the German provider Kabel1). Due to the severity of the bug there are also patches available for 0.6.4 and 0.7.0
- Bugfix in database merge: merge failed when no networks were manually selected yet
- Network name column in the programme listing now automatically adapts its width so that network names no longer get cut off.
- Windows: bugfix in K!TV interaction: with K!TV versions up to 1202 VPS/PDC decoding was disabled so that for some networks no title info was displayed in K!TV.
Thanks to Thierry Ménétrier for his excellent feedback.
From 2.1.2 (aka 0.7.4) to 2.2.0 (August/18/2002)
This release contains the following new features and fixes:
- Network selection config dialog: allow to specify time windows for each network (e.g. for ARTE 19:00 - 06:00 o'clock). Programmes that are completely outside this window are suppressed in the listing.
- PDC theme descriptors were translated to French and German; the language can be either selected automatically or manually. Thanks to Matthieu for triggering this improvement and for the French translation.
- The programme database can be exported into a text file in TAB separated format, so that it can be directly loaded into an SQL database. (This feature has been added to support the HTML converter E*plore EPG nexTView written in PHP by sysmik)
- Bugfix in the EPG scan due to which on channels which could not be identified via VPS/PDC no EPG provider was found. Thanks to Helge Kreutzmann for pointing out this problem.
- Manual size changes of the help window are now remembered; also improved a few details in help text formatting.
- Windows: upgraded to version 8.3.4 of the Tcl/Tk library (from 8.3.2); all OS: prepared for the latest version 8.4(b1)
- Windows: prepared support for using different TV card than a connected TV app. so that EPG can be acquired from a different channel than you're currently watching (Note: requires update of DSdrv4 drivers, which are not part of this release yet to maintain compatibility with K!TV)
- Windows: support for the K!TV plugin ZoomOut: automatically add a "Record this show" entry to the context menu (right mouse button).
- Windows-95 compatibility: resolved two missing symbols (this was already supposed to be in 0.7.2 but forgotten to include)
From 0.7.3 to 0.7.4 aka 2.1.2 (June/2/2002)
This release contains one single bugfix:
- Bugfix TV application interaction: no EPG information was forwarded to the TV app under certain circumstances (only if the station name was unknown to nxtvepg and the VPS/PDC id was unchanged since the last request)
From 0.7.2 to 0.7.3 aka 2.1.1 (May/30/2002)
This release contains one notable bugfix (at least for French users) and a few minor feature improvements:
- Bugfix in PDC decoding: didn't work at all before (this affects the EPG scan and TV app interaction). Thanks to e-nek for helping to debug this problem
- Added PDC and P8/30/1 "status display" text decoding; currently used only during EPG scan for networks without CNI -> e.g. MTV and some local TV channels are now identified, too
- Main window can be scrolled by dragging the mouse outside the window
- Acquisition database window can be opened before acq enabled
- Important EPG scan messages now marked by use of bold font
- Windows-95 compatibility: resolved two missing symbols
- Windows Bt8x8 driver: added new error checks for driver installation
From 0.7.1 to 0.7.2 aka 2.1.0 (May/20/2002)
This release contains the following new features and fixes:
- Windows: Enabled TV application interaction feature and added documentation for the demo and debugging tools tvsim, vbirec and vbiplay.
- Windows: Added option "Hide on minimize", i.e. when the main window is minimized, it's removed from the taskbar and an icon is installed in the system tray with a small popup menu.
- Windows TV app. interaction: VPS/PDC is now evaluated if EPG acquisition is disabled (or -in the future- if EPG acq. uses a different TV card)
- Windows TV card input dialog: warn if TV app. was changed but config not loaded; same for TV app. interaction dialog if "Test" button was not used.
- Windows Bt8x8 driver DSdrv: improved robustness by attempting uninstall and re-install of the service if driver start fails (with certain types of errors)
- Windows TV card input dialog: list only as many TV cards as are available (do a scan of all TV cards upon first Bt8x8 driver start; requires that the driver was started at least once since program start)
- Windows daemon port finished: option -daemon is now available (note that
the daemon currently does not support TV app. interaction)
- Bugfix EPG scan (Linux only): after an EPG scan acquisition could not be enabled because the VBI device was allegedly busy. The cause was that an acquisition thread kept running after the EPG scan.
- The wheel mouse now scrolls only 5 lines instead of 1 page and the cursor remains on the previously selected item.
- Improved automatic mode selection for internal/remote acquisition during startup: wait until an connection is completely established until changing the default mode to remote acq in the rc/ini file (esp. when connecting via TCP/IP)
- EPG scan is no longer prevented with "cannot start scan while in client/server mode" unless currently connected to an acq daemon.
- EPG scan: reset 45-seconds timer when EPG is found to be transmitted on a non-default teletext page nunmber. This should fix the problem that Canal+ is reliably detected only when in "slow" mode.
- Removed the last remaints of long integer usage to improve 64-bit CPU compatibility.
- Bugfix: crash when there was a .xawtv file with zero channel definitions
- Bugfix: the EPG scan was not stopped when the program was terminated by a signal or logging out, causing a crash.
- Bugfix: crashed with SEGV when the acq timescales were open when the EPG scan was started.
- Bugfixes in timescales: network highlighting and "acquisition tails" for the browser database timescales were sometimes not enabled or disabled when acquisition was en-/disabled or moved from/to the browser database.
From 0.7.0 to 0.7.1 aka 2.0.0 (May/05/2002)
This release contains the following new features and fixes:
- Windows: exchanged the driver with the free (GPL'ed) DSdrv, a driver developed in the DScaler project. This means that I finally can include a Bt8x8 driver with nxtvepg! Many thanks to e-nek for doing the initial port; also many thanks to John Adcock and the other members of the DScaler team.
- Windows: simplified the initial setup procedure by adding the possibility to load configuration files or registry of some well known TV applications (MoreTV, FreeTV, DScaler, K!TV, MultiDec) to extract their TV card setup. The channel tables can also be extracted, to allow for network name synchronization (via the Network name configuration dialog)
- Windows: Prepared the possibility to interact with TV applications. This allows for the same features that already were available on UNIX with xawtv This feature is disabled in the regular release as there are no TV applications yet that support it officially. (The first one will be K!TV - note: an English language version of this application is currently in development. If you are an author of a TV app, feel free to mail me if you want to add EPG support to your application. A demo application and reference implementation are available.)
- Windows: brought back a lost workaround (lost due to a crash of an almost new Deskstar drive - thank you, IBM) in the Tk83.dll for message boxes (do not use the native Windows message box from inside Tcl/Tk procedures, because it sometimes destroys the main window for unkown reasons)
- Fixed bug in support for big-endian CPU architectures: there was an alignment error in one of the database structures which caused an abort with a bus error (e.g. on Sun Sparc CPUs); also endian mismatches were not reported in acquisition daemon connect attempts.
- Fixed bug in the EPG scan that caused a crash 64-bit architectures (e.g. PowerPC). Thanks to Helge Kreutzmann for reporting this bug.
- Added automatic endian conversion during database reload and acquisition daemon connections. In earlier versions the reload was simply refused. Note: the data is still written in the native format and only converted if neccessary, so there is no performance impact for little-endian machines (e.g. in contrast to writing always in network byte order)
- Improved channel change handling (handshake between acq master & slave)
- Reduced latency in VPS/PDC decoding after channel changes (the latency was increased due to a change in 0.7.0)
- UNIX: improved startup of acquisition process/thread; fixed the design bug due to which the TV tuner was programmed even if the VBI could not be opened.
- Improved hyperlinks in help pages: can now link into sub-sections too, which is esp. useful for the "Configuration" chapter.
- Fixed a bug in the decoder for language and sub-title information blocks (currently only broadcasted in France by M6 and Canal+).
Please note that Windows TV interaction support is intentionally disabled in this release, because the interface is not yet finalized.
From 0.6.4 to 0.7.0 (March/02/2002)
Note that as of this release the database format is changed (due to a bugfix and several extensions); it's recommended to delete all database files from the nxtvepg directory before the next program start (expect to see a few warnings, which you can ignore in this case). Then start an EPG scan with the option "Refresh only" (this checkbox is located below the EPG scan message window)
This release contains the following new features:
- Added a network connection between the acquisition daemon and the GUI. While connected, the browser receives updates for opened Nextview databases (i.e. all incoming EPG blocks are forwarded) and constant updates about the acquisition progress.
- Added compile-time option to use multi-threading for VBI acquisition instead of a separate process. The advantage is that the threads are only created when acquisition is enabled and not when connected to a daemon.
- Added support for wheel mouse in main and help windows, thanks to Serge Koenigsmann.
- xawtv popup is immediately removed when xawtv is terminated or iconified
- Fixed bug in status line statistics output: expired percentage did not reach 100% even after the database appeared empty because the total of "defective" blocks was erronously included in the quotient.
- Added scollbars to network list in network selection dialog and limited listbox height to 27 networks.
- Added field with official network description in network name config dialog to avoid confusion in case different stations have similar logos (e.g. there's "ntv" in Turkey and "n-tv" in Germany)
- Added network name output during EPG scan (e.g. "ARD" instead of "0x0DC1") generally improved diagnostic output (summary at the end)
- The timescales windows now show all blocks in the database; they used to start with the current time, omitting all expired blocks. That was confusing esp. in case all blocks were expired, because the status line said "100% complete" but no blocks were displayed.
- Added "acquisition tail" to timescales: the most recently updated ranges are marked with a white bar which fades to the background color over time
- Added callback to timescale windows: mouse click on a scale now filters the slected netwop in the main window and jumps to the given time
- Fixed bug in database structure which holds navigation menu entries (a fixed length array was too short and caused memory overwrites)
- Both acquisition and EPG scan now extract channel frequecies from both databases and rc/ini file, so that in case of loss of either databases or rc/ini file they still can be recovered.
- Fixed bug which let the browser hang in wait(2) after the process group was delivered a STOP signal (i.e. CTRL-Z in the controlling terminal)
- Made dialog windows which display lists resizable, e.g. netwop selection
- Bugfix in database merge (yes, yet another one): the merged netwop table could contain uninitialized entries, if the user network selection contained networks that were included in none of the merged databases (e.g. remains of a previous merge with different providers)
- Implemented "Index" filters for merged database; due to technical limitations currently only "now" & "next" searches are supported; others will return empty lists. Thanks to Mathias Homann for prompting this fix.
Thanks to Jan Schuster for alpha testing and much useful feedback and to Mario Kemper for beta testing and adaptions for NetBSD.
From 0.6.3 to 0.6.4 (November/06/2001)
This release contains the following fixes:
- Bugfix database merge: merging used to produce only empty databases, because zero networks were loaded (the user was forced to manually add networks via the network selection dialog.) This bug was introduced in version 0.6.2. Thanks to Mathias Homann and Jan Schubert for reporting this nasty bug.
- Bugfix xawtv popup: percentage was displayed as 10000% for programmes running later than the announced stop time (on channels with VPS/PDC). Thanks to Ulrich Mueller for the bug report & fix.
From 0.6.2 to 0.6.3 (September/16/2001)
This release contains the following fixes and improvements;
note that all of them are available in the UNIX version only:
- Added daemon mode to allow background acquisition without GUI. Added new command line options -daemon and -acqpassive
- Signal HUP can now be used to toggle acquisition on and off (with GUI only; the daemon terminates when acquisition is disabled). Before, the signal used to disable acquisition only.
- Fix: catch death of acquisition slave process (i.e. after deadly signal) and mark acquisition as disabled in the master process.
From 0.6.1 to 0.6.2 (September/07/2001)
This release contains the following fixes and improvements:
- The merged database now only contains those networks that were selected by the user in the network configuration dialog, and in the same order. The first change reduces memory and CPU consumption; the second one ensures that programmes with identical start time are presented in order of your network preference (particularily useful e.g. at 20:15 in Germany)
- Fixed daylight saving time handling for Linux: got rid of mktime() in Julian date to UNIX epoch conversion for incoming PI blocks, so the LTO is out of the equation. Before the fix, all blocks that were acquired before a DST change appeared shifted by one hour after the DST had changed.
- Fixed "program index" filter: index calculation was broken since an internal change in the database in release 0.5.1
- Fixed Navigate menu: due to a bug the "expire time" filter was undone so
that expired TV programmes showed up in the listing and could not be removed
even by pressing the Reset button.
Thanks to Frank Mauler for the bug report. - Improved acquisition strategies for multiple databases in "manual" and "cyclic" modes by adding a new phase which is entered after one pass over all databases.
- Fixed several possible acquisition cycle "hangups" (i.e. acquisition never switched to the following provider) which could occur in abnormal situations, e.g. when a provider did not transmit all blocks that were listed in his AI inventory, or when the AI was completely empty. Also added a global timeout of 30 minutes for all acquisition phases.
- Added documentation for main window status line in chapter STATISTICS. Added "?" button to database statistics popup to link to the new description.
- Improved timescale popup ("control" menu): time ranges with missing PI blocks (TV programmes) are now marked gray. Note that the ranges can only be estimated, as the time range a block covers is not known until the actual block is available. This is useful when a provider enlarges the preview range for selected networks only; now you can see which these are.
- Improved timescale popup ("control" menu): upon provider or version change the old content is no longer destroyed before the new one is filled in so that the popup doesn't flash as much anymore.
- Timescales popup: removed restriction that only one time scale popup window could be opened per database, i.e. the acq time scale popup now remains open even when the acquisition works on the browser database.
- New item in acq statistics output: added "PI rx repetition", i.e. how often each block in both streams have been received in average since start of acquisition.
- Fixed bug in database statistics popup: when the popup remained open for a long time it ate up a lot of CPU, because the refresh every 10 secs did not correctly delete the previous content.
- Added transmission error handling for AI block (as already done for PI): check if a new block is a equivalent; if yes refuse it if the string segment (service and network names) has more parity errors than the previous copy.
From 0.6.0 to 0.6.1 (August/30/2001)
This release contains the following bugfixes:
- Fixed bug in the GUI: when the listbox column headers were disabled in the
Configure menu, the main window appeared much too wide (calculated width as
pixels, but applied as if millimeters).
Thanks to Peter Suetterlin for the bug report. - Fixed bug in block management which allowed for PI blocks to remain in the database although the valid network block range was declared void in the AI. This could result in fill percentages > 100 in the statistic output (as seen on provider Pro7 on 08/28/2001).
From 0.5.2 to 0.6.0 (August/25/2001)
This release contains the following new features:
- Possibility to add references to external applications to the context popup menu in the browser listbox, e.g. to program an alarm timer for the selected TV show in your favourite scheduler.
- Added new dialog in the control menu to dump the complete programme list or selected descriptions into a file in HTML format, from where they can be loaded by any WWW browser. This may be of interest for people who want to print out TV schedules.
- New text search option Match full to allow exact title matches, e.g. a search for "heute" will no longer match on "heute journal" when full match is enabled.
- Alphabetically sorted series list in the filter menu.
- Added RPM spec which allows to install directly from the source tarball.
- Bugfix Windows-95: the browser listbox cursor always followed movements of the mouse pointer, even when no button was pressed.
- Bugfix in epgblock.c for Power-PC platform; thanks to Gerd Knorr.
From 0.5.1 to 0.5.2 (June/14/2001)
This release contains two bugfixes:
- Bugfix programme listbox: the network filter did not follow xawtv channel changes. Thanks to Werner Renhardt (werner at kangaroo.at)
- Bugfix cyclic acquisition (bug was introduced in release 0.5.1): expired programmes were not counted for acquisition statistics, hence sometimes the acquisition engine did not detect when the database was complete and did not move on to the next provider.
From 0.5.0 to 0.5.1 (June/5/2001)
This release completes the integration of nxtvepg with the xawtv TV application (UNIX only). Now you can not only switch the TV channel from inside nxtvepg's TV listings, but also zap through the channels with xawtv and nxtvepg's description will follow the currently tuned channel. The program's title and running times will also be sent back to xawtv. See the manual page, sections Xawtv connection and Network names, for details or see this xawtv screenshot to see the title popup in action.
- Monitor the _XAWTV_STATION property on the xawtv window and VPS/PDC (during EPG acquisition) to detect channel changes (new source module epgui/xawtv.c; communication with xawtv is now done directly via X11 calls, and no longer uses the xawtv-remote utility)
- After a channel change, optionally set the programme listing's cursor on the programme currently running on this channel and/or display the programme title and running time information inside xawtv, either in a popup, as overlay (requires xfree4 and the XVideo extension) or window title message.
- Improved handling of the network name configuration dialog by addition of a "Closest match" (in the .xawtv station name list) button.
- fix: during refresh, the cursor now remains on the same start time and network
- fix: short info text view is no longer set to line 1.0 during every update
- fix: possible crash due to reference to freed memory when acq timescale popup was open & bad reception (block discarded due to parity errors)
- fix: in cyclic or follow-ui acquisition modes when acquisition was forced passive on a non-provider channel, e.g. by a busy video device, acq control did not automatically switch to active when the device was freed.
- fix: network name configuration: name selection from the provider listbox was handled incorrectly for networks which were not covered by all providers, so that another than the selected name was actually used.
- Added support for multi-network channel names (e.g. Arte / Kinderkanal) to network name configuration: split xawtv station names around '/' and use all resulting segments for matching with Nextview network names.
- Added support for Turkish charset in national option table; 6 characters which are not in latin-1 are replaced by their ASCII counterparts.
- Fixed two memory leaks in the EPG scan and wrong handling of the EPG MIP entry, which slowed down the scan on several channels.
- changed Makefile.win32 to use gcc/mingw32 for compilation. The supplied Tcl/Tk libraries are compiled with gcc too (on NT using cygwin)
From 0.4.5 to 0.5.0 (Apr/21/2001)
- The main window is now vertically resizable. The proportions of the program listbox and the info text can be adjusted with a "panning" button (slider).
- Added a button called "Tune TV" in the main window to remote-control xawtv (UNIX only).
- Added network name configuration dialog to synchronize names with the .xawtv configuration file and to allow consistant network naming across all providers.
- Allow using channel assignments in .xawtv to speed up the EPG scan (UNIX only).
- Added "Update filter shortcut" dialog to the filter menu to simplify changing existing shortcuts.
- Made handling of filter shortcut dialog fool-proof.
- Added filter settings description to the shortcut configuration dialog. Removed the filter combination checkboxes (were disabled anyway).
- Added acquisition mode "external" for Composite/S-Video input source (or unknown win32 tuner types). Win32: suppressed obsolete acq mode "passive".
- Fixed command line option -rcfile for Win32: backslash chars in path vanished.
- Restructured software to simplify reuse as library in other projects.
From 0.4.4 to 0.4.5 (Apr/1/2001)
- Fixed bug in NetBSD daylight saving time handling, due to which programmes were shifted by 60 minutes. Thanks to Mario Kemper for the patch.
- Fixed bug in Tcl proc LoadRc, due to which reload of the rc/ini configuration file could fail. Thanks to Dan Lindstroem for the patch.
From 0.4.3 to 0.4.4 (Feb/27/2001)
- Please note my new email address: tomzo at nefkom.net
- Fixed severe bug in database reload (reference to freed memory; Curiously this led to crashes under Windows only)
- Fixed compatibility with old bttv driver versions (versions <= 0.6.x produced error "VIDIOCSCHAN: operation not supported" during TV channel changes)
- Added detection of lost VBI frames (Linux, for debugging/optimization only)
- Added frequency table for France; Minor fixes in Western Europe table; Tables can be selected via the TV card input popup.
- Updated tuner type table for Windows Bt8x8 driver -> support for new tuners
- Implemented hyperlinks in help pages for references between chapters
New features between release 0.3 and 0.4
- Database Merging
If you compare databases of different Nextview providers, you will often find that each has one or more nice features, or covers networks, that the others lack. Instead of changing back and forth between several providers all the time, database merging allows to select and combine features or networks from several original databases into one newly created database.
- Extended Acquisition Control
Previously, acquisition always worked for the provider you had chosen for the browser. If you were interested in more than one provider's database, you had to manually select them one after each other to get them up to date. Now, you can put your favorite providers into a list and have them automatically updated one-by-one. There are several modes that allow for a faster start-up time, e.g. by loading just the "Now" data of all providers in a first pass (takes about 2 minutes each) and afterwards the complete databases (takes about 20 minutes each).
- Browser listbox column configuration
Previously the format of the programme listings was fixed. Now you have the free choice which attributes you're interested in. Usually you'll have at least the title, running time and channel name, and then add whatever you need most often, e.g. the major theme (movie/series/show etc.), rating, picture format, ...
- Improved database and acquisition statistics
(1) Database statistics are now available independently of acquisition, and include new catagories, e.g. percentage of expired program blocks. (2) Acquisition stats can be invoked before a provider was found, and contain an regularily updated VPS/PDC and teletext reception summary, to allow debugging of reception problems. (3) Added a status line at the bottom of the browser window to give a quick overview of the database and acquisition state.
- Support for other operating systems
Last but not least, nxtvepg has been ported to NetBSD (many Thanks to Mario Kemper, who's also my valued beta tester) and to Micro$oft Windows (thanks to "Es/presso", from whose Multi-Dec the driver was derived)
For a detailed description of these new features please refer to the Manual.
History of additions and bug fixes in-between previous releases
From 0.4.pre2 to 0.4.3 (Feb. 2001)
- Fixed various glitches in acquisition mode handling and warnings
- Added warning when acq mode is forced passive due to non-tuner input source
- Finally added chapter about merged databases to documentation
- Split off EPG scan sources from epgacqctl.c into separate module epgscan.c
- Temp workaround for merged db statistics: supress unsupported categories
- Improved presentation of merged descriptions: suppress redundant text
- added transmission error handling: do not replace equivalent block with a copy with more parity errors (in the string segment)
- Introduced EPG scan options "Slow" and "Refresh" for bad reception or database loss, respectively
- Added OI header and message to provider selection popup
- Network selection popup: added possibility to copy CNI order and suppression between providers
- Added infos to README about Windows driver installation; thanks to Mario.
- Browser listbox format now configurable: now columns can be freely selected from 16 attribute types, including title, time, date, theme, ratings, etc.
- Added browser listbox column header buttons with drop-down menus
- Fixed substring search with latin-1 chars: did not work due to new internal encoding in Tcl 8.3 (UTF8)
- Fixed dynamic menus on Win32 (e.g. context menu, series menu, Navigate): Windows does not generate unmap event, hence the menu content always remained the same, regardless of PI selection or even provider changes
- Fixed program crash on Win32 while error MessageBox was displayed via Tcl: crashed when the mouse was moved from the desktop directly into the main win
From 0.4.pre1 to 0.4.pre2 (Jan. 2001)
- Added status line below browser window for db coverage and acq status
- Statistics windows now available separately for browser and acq databases. Added pie chart in addition to history diagram.
- Acquisition statistics are now updated even while no EPG reception, to allow analysis of reception trouble. Added output of VPS/PDC CNI.
- NetBSD: patch from Mario to fix possible hangup of VBI slave after an external /dev/video application is terminated.
- Windows Bt8x8 driver: added PLL init for 35MHz; Improved driver start on NT; Fixed blue screen during shutdown and crashes: exceptions and the shutdown message are now catched and the driver stopped before the program exits; Disabled registry hack for legal reasons.
From 0.4.pre0 to 0.4.pre1 (Jan. 2001)
- presentation of descriptions of merged databases improved by adding a separator image (horizontal line) between the texts.
- added support for Net/Free/OpenBSD Unix in btdrv4linux by Mario Kemper
- described Windows installation in more depth and length in the README file
- compatibility with Windows driver version 4.00
- updated registry hack for Windows Bt8x8 driver 4.31 and later
- command line can take database path as last argument This is intended for Windows, to be able to drag and drop a database file onto the executable, but can generally be used to set -dbdir and -provider
- added warning messages for database reload errors or missing frequencies
From 0.3.4 to 0.4.pre0 (Dec. 2000)
- added possibility to merge several provider databases into one
- cyclic acquisition between several databases
- added TV input configuration popup
- added Help button to all popups order of Help, Abort, Ok identical in all popups
- port to M$ Windows (in new module epgvbi/btdrv4win.c)
From 0.3.3 to 0.3.4 (Nov. 2000)
- added -demo cmd line option for users without live Nextview reception
From 0.3.2 to 0.3.3 (Oct. 2000)
- fixed bug in context menu: arbitrary themes could get listed (pifilter.c)
- fixed possible heap corruption in string conversion (epgblock.c)
From 0.3.1 to 0.3.2 (Oct. 2000)
- fixed bug (SIGSEGV) in CreateContextMenu()
- fixed bug in epgui.tcl, proc DeleteSortCritSelection: deletion failed
- added -c to install in Makefile for NetBSD compatibility
- added credits to manpage
From 0.02a to 0.3.1 (Sep./Oct. 2000)
- added netwop, start time & sorting criterion filters to menus & shortcuts
- fixed bugs in shortcut selection: series were not set in the menu checkbuttons and series filter not disabled in filter context after deselection
- automatic shortcut deselection when it's filters are manually undone
- timescale windows are reloaded after AI version changed and not closed anymore upon provider change
- created manual page & help menu
- added install rule to Makefile and added installations instructions to README
- changed default for db directory to /usr/tmp/nxtvepg; added option -dbdir
- added command line option -card for alternate vbi & video devices (needed when there's more than one TV card)
- added context menu, invoked by right mouse button: allows quick filter selection, depending on currently selected title
- show copyright & helpful message if no provider known or db empty
- added programme title & feature summary to short-info field
- fixed LTO (GMT offset) computation during daylight saving time
From 0.01a to 0.02a
- added rc/ini file to save filter shortcuts and other config options
- added netwop configuration for general exclusion of non-receptable netwops and for personalized network ordering
- added command line options (UNIX only)
- added shortcut add&edit popup and implemented "merge" mode
- added EPG scan and "active acquisition mode"; the tuner is set to the chanel of the selected ui db, if possible (UNIX only)
- maintain list of "obsolete" PI, i.e. PI that could not be added to the db or are expired. This now allows to generate an exact statistic on how many blocks on the range given in AI were acquired.