EPGnavigator v5.1 Release Notes 24-Oct-2007 1. Introduction =============== EPGnavigator is an EPG TAP for the Topfield TF5800 UK FreeView PVR, EPGnavigator now also supports the TF5000 and TF5100 PVR models. The TAP is available in English, and also in Finnish and German. The Finnish and German translations are only part complete. Basic EPG features are fully functional, but some of the extra features expected from a good EPG have not yet been implemented. This TAP is under active development. Versions v1.6a v2.5 and v4.4 are stable versions of the program with few reported bugs. Functionality in this release includes: - EPG as a channel/programme grid. - EPG as a programme list by channel. - EPG for both TV and Radio channels. - Timers displayed in the EPG. - Show all timers as a list. - Create, modify and delete timers from the EPG and from the timer list. - EPG data gathered continuously in the background and saved in memory and to disk so that EPG data is always available. - Automatic daily channel scan to gather EPG data for all channels. - EPG configuration to allow options such as the daily channel scan start time to be set. - Support for the DescriptionExtender TAP. - Support for the UK Auto Scheduler TAP. - Support for program extended information. - Support for external fonts. - Reorder and delete channels from the EPG. Functionality to be inlcuded in future releases: - Repeat recordings based on programme name. - Programme search based on programme name. 2. Disclaimer ============= This program is provided "as is". There is no warranty of any kind provided with this program. Use this program at your own risk. 3. Information about this release ================================= This version completes the implementation of the font package written by Pavel Kopylov. To use the external fonts in EPGnavigator *all* of the following font files must exist in the same folder as EPGnavigatorXX.tap, and external fonts must be enabled in the SETTINGS screen. EPGnavigator_small_font.fnt EPGnavigator_medium_font.fnt EPGnavigator_large_font.fnt EPGnavigator tries to load the font files only when it first starts. If any of the fonts fail to load then EPGnavigator will revert to using the PVR's inbuilt fonts. The EPGnavigator screen layouts are based on the inbuilt PVR font sizes. The external fonts must be similar in size to the PVR fonts. If the external fonts are too big then they will they will not load. The font code is based on the latest version of the font package. Either use the font files that ship with EPGnavigator or regenerate your own custom font files using the makeFonts.exe program that is also now shipped with EPGnavigator. The main change is that the programme description and extended description text is now split into lines more accurately. using the size of the font being displayed. Previously the 2 splits used different code, and were based on the PVR font sizes. There is also a bug fix. Previously the TIMERS screen showed the wrong channel name for radio timers. This is now fixed. The channel organiser file names have been changed to match the font file name structure. Any existing organiser files must be renamed as follows. EPGnavigator.cht => EPGnavigator_tv.org EPGnavigator.chr => EPGnavigator_radio.org 4. Installation =============== The EPG requires the May 2005 PVR firmware or later. To install using a Windows PC unzip the distribution file EPGnavigator.zip to a folder such as C:\Temp. The use the Topfield PC application Altair to copy EPGnavigator.tap to the 'Programs' folder or to the 'Auto Start' sub-folder in 'Programs' on the PVR. Once running EPGnavigator will create several files in the same folder as EPGnavigator with names of the form EPGnavigator.xxx. 5. Using EPGnavigator ===================== The EPG is started using the GUIDE key. EPGnavigator can be made to ignore the GUIDE key by pressing LEFT then GUIDE in quick sucession. (Prior to version 4.2 this key sequence was UP then GUIDE). EPGnavigator will not start and the GUIDE key will be passed on to the PVR or any other TAPs that are running. Once started the remote control keys are as would be expected. For the main screens the TEXT remote control key will show a help screen specific to the screen. The help screen gives details of the remote control keys and their functions for the screen. Note that many of the remote control key functions are configurable in the SETTINGS screen. (Start the EPG, press MENU then select SETTINGS). 6. Gathering EPG data ===================== The UK July 2006 PVR firmware is very efficient at gathering EPG data. Most of the available EPG data will be available within minutes of powering on the PVR. Earlier versions of the firmware were very poor at gathering EPG data. If you are using EPGnavigator with this firmware the daily channel scan is no longer required. Disable the scan in SETTINGS. But EPGnavigator still needs to gather EPG data. If you leave your PVR on all the time or if you watch television for 30 minutes every day, then this will be sufficient for EPGnavigator to gather EPG data. Alternatively you may want to set a daily 30 minute watch timer for some convenient time. Prior to this firmware you will almost certainly need to run the daily channel scan. Enable the scan in SETTINGS and then either leave PVR on all the time or set a daily watch timer for the scan duration. 7. Description Extender TAP =========================== TAPs can normally only access the first 127 characters of the programme description. The Description Extender TAP makes the full programme description available to a TAP. To use this TAP with EPGnavigator place the Description Extender TAP in the PVR Auto Start folder and start the TAP. Then tell EPGnavigator to use this TAP in the SETTINGS screen. The start order of Description Extender and EPGnavigator is not critical. Ideally Description Extender should start first. Several versions of this TAP are available. All versions should work with EPGnavigator. The TAP is available from www.toppy.org.uk 8. UK Auto Scheduler TAP ======================== EPGnavigator can add searches to the UK Auto Scheduler TAP (UKAS). To enable this feature go to SETTINGS in EPGnavigator and assign a key to UKAS. Then from the grid or list view, select a programme and press the UKAS key. This will create file UkAutoRemote.txt containing a search for the selected programme. Check the UKAS documentation and web site for more details on this TAP, and on how to configure the TAP to use the UkAutoRemote.txt file. The TAP is available from www.toppy.org.uk 9. External Fonts ================= EPGnavigator can use the PVR's inbuilt fonts or external fonts. The external fonts are converted TrueType font files and any TrueType font can be converted. To use the external fonts *all* of the following font files must exist in the same folder as EPGnavigatorXX.tap, and fonts must be enabled in the SETTINGS screen. EPGnavigator_small_font.fnt EPGnavigator_medium_font.fnt EPGnavigator_large_font.fnt EPGnavigator tries to load the font files only when it first starts. If the fonts fail to load then EPGnavigator will revert to using the PVR's inbuilt fonts. The EPGnavigator screen layouts are based on the PVR's font sizes. The external fonts must be similar in size to the PVR's fonts. If the external fonts are too big then they will they will not load. The PVR uses the same fonts on 4:3 and 16:9 screens. Consequently it is not possible to have a font that is optimised for both sizes of screen. The default fonts shipped with EPGnavigator are a narrow sans serif font that displays well on 16:9 screens. For details on creating and using font files see toppy.org.uk > Forums > TAPs and look for the EPGnavigator v5 thread. Include with EPGnavigator is the makeFonts.exe utility. This can be used to convert a TrueType font as follows. makeFonts.exe iso8859-1.txt 10. Know problems and limitations ================================= 1) The volume plus and minus keys (V+ V-) behave like the LEFT and RIGHT keys when EPGnaviagtor is running. This is a problem for all TAPs. The PVR translates the volume keys to LEFT and RIGHT before passing these keys to the TAP. The same applies to programme plus and minus (P+ P-) which behave like UP and DOWN. 2) If watching a channel on multiplex 1, and recording a channel on multiplex 2, and a new recording starts on multiplex 3, and EPGnavigator is being displayed, then the PVR displays a dialogue box on top of EPGnavigator asking how to resolve the recording conflict. EPGnavigator keeps control of the remote control. Consequently you cannot respond to the dialogue box. Eventually the dialogue box times out and some part of the screen will be corrupted. This screen corruption can be cleared by stopping/starting EPGnavigator. The problem will be addressed in a future release. 3) If watching a recording or time shifting, and the progress bar is on display (press PLAY), and then EPGnavigator is started, then the PVR will redisplay the progress bar on top of EPGnavigator. The problem will be addressed in a future release. 4) EPGnavigator uses solid (non-transparent) colours. However the PVR 'OSD Transparency' setting controls the overall transparency of TAPs and some PVR displays (Menu > System Setting > OSD Transparency). If transparency is set then the EPGnavigator screens will be transparent. 11. Support =========== Send any comments or suggestions to EPGnavigator@tiscali.co.uk or visit the TAPs forum at www.toppy.org.uk 12. Revision history ==================== v5.1 24-Oct-2007 This version completes the implementation of the font package written by Pavel Kopylov. To use the external fonts in EPGnavigator *all* of the following font files must exist in the same folder as EPGnavigatorXX.tap, and external fonts must be enabled in the SETTINGS screen. EPGnavigator_small_font.fnt EPGnavigator_medium_font.fnt EPGnavigator_large_font.fnt The EPGnavigator screen layouts are based on the inbuilt PVR font sizes. The external fonts must be similar in size to the PVR fonts. If the external fonts are too big then they will they will not load. The font code is based on the latest version of the font package. Either use the font files that ship with EPGnavigator or regenerate your own custom font files using the makeFonts.exe program that is also now shipped with EPGnavigator. The main change is that the programme description and extended description text is now split into lines more accurately. using the size of the font being displayed. Previously the 2 splits used different code, and were based on the PVR font sizes. There is also a bug fix. Previously the TIMERS screen showed the wrong channel name for radio timers. This is now fixed. The channel organiser file names have been changed to match the font file name structure. Any existing organiser files must be renamed as follows. EPGnavigator.cht => EPGnavigator_tv.org EPGnavigator.chr => EPGnavigator_radio.org v5.0 18-Sep-2007 Version v5.0 introduces support for the font package written by Pavel Kopylov. v4.4 30-Jun-2007 Version 4.4 corrects the P+ and P- key feature that was introduced in v4.2, and that was partially corrected in v4.3. Version 4.3 used REWIND and FORWARD for P+ and P-. This causes obvious problems when watching a recording. So in v4.4 the keys to be used for P+ and P- can be set in the SETTINGS screen. Also v4.3 had some debug code that was accidentally left in the TAP. The debug code was activated by pressing 6 causing the 6 key to be ignored. The debug code could cause the channel/programme information box to be displayed. There is also a bug fix in the timer code. If the before or after timer padding is set to 0, then adding a timer that overlaps an adjacent timer will fail to detect the overlap and try to add the timer. The overlap causes the timer add to fail. This is fixed. v4.3 23-Jun-2007 Version 4.3 corrects the P+ and P- key feature that was introduced in v4.2. But there is a complication. The P+ and P- keys are the same as UP and DOWN, and UP and DOWN are used by Teletext and Interactive TV. The TAP API does not provide a function to test for Teletext and Interactive TV being active. Consquently EPGnavigator cannot tell whether UP and DOWN should change channel or be passed on to Teletext or Interactive TV. There are a number of solutions. There is the exTAP library that extends the API, but this is firmware dependant. And if at all possible I would like to avoid having to test against different firmwares. The Remote Extender TAP could help distinguish between P+ and P- and UP and DOWN, but only on the 5800 model. This would not work for the 5000 and 5100 models. So as an interim and far from ideal solution I have used REWIND and FORWARD for the channel change. These will change channel using the EPGnavigator channel sequence. P+ and P- will be processed by the PVR and change channel using the PVRs channel sequence. Ideally I would like to see the TAP API extended with the many missing features identified over the last few years. There is also a new feature to help with problem resolution. The DEBUG option on the MENU screen now displays several of the EPGnavigator internal program counters. Previously this option just displayed a summary of memory usage and programmes. v4.2 15-May-2007 Version 4.2 includes an update to the new channel organiser feature. The P+ and P- keys (and UP and DOWN on the TF5800) now use the channel sequence set in EPGnavigator rather than the Topfield native channel list. The code to convert between channel lists has been rationalised. This may have introduced bugs into previously working v4 features. The maximum number of channels has been increased to 175 and the maximum number of programmes per channel decreased slightly. For the channel organiser feature to work fully EPGnavigator must store all available channels. Previously the key sequence UP + GUIDE would start the native Topfield EPG. Since the UP and DOWN keys now behave like the P+ and P- keys the sequence UP + GUIDE has been changed to LEFT + GUIDE. The initial EPG view from SETTINGS - grid or list - is now always used when the EPG starts. Previously the view would be the last view used. There are also several bug fixes. The code that reads programme data from disk when EPGnavigator starts now correctly checks that there is free space to store the programme data before storing the data. This problem is unlikely to occur in normal use. After editing a timer and not making any changes, the screen would not be refreshed. This has been corrected. The TIMERS screen is now the same size as the EPG grid and list view screens. The TIMERS help message is now always displayed. Previously if there were no timers set then the help message would not be displayed. The TIMERS screen footer now displays the correct channel for the currently selected timer. Previously the channel could be incorrect if the channel sequence had been changed. A similar error could also occur when adding or editing a timer. v4.1 11-Apr-2007 Version 4.1 includes an update to the new channel organiser feature. The organiser can now hide unwanted channels (in the EPG grid and list views) as well as reorder the channel sequence. There is also a bug fix to the channel organiser and the EPG. In the previous version if the channel sequence was changed using the channel organiser, then timers and the grid and list views would sometimes calculate the channel incorrectly. v4.0 10-Mar-2007 Version 4.0 includes a new channel organiser feature. To start the organiser first start EPGnavigator, press MENU, then select Channel Organiser. The organiser lists all of the PVR channels. Select a channel with OK, move the channel to the required position, then press OK again. The channel information is saved in file EPGnavigator.chX, where X is t for TV and r for radio. Channels are identified by the channel number, name and multiplex. This allows for duplicate channels for users who receive the same channel from 2 transmitters. The ability to only show selected channels in the EPG will be added to the organiser in the next release. Also the routines for reading and writing text files to disk have been rewritten. The new routines are used by the organiser feature, but have not yet been implemented in other EPGnavigator functions. There is a minor bug fix to the display of the timer duration when editing a timer. v3.2 27-Feb-2007 Version 3.2 fixes a bug in the way channels are stored. EPGnavigator stores up to 125 channels and continually checks the stored table of channels against the PVRs list of channels. If a difference is detected then the table of channels is rebuilt. The check is incorrect if the PVR has more than 125 channels. EPGnavigator then incorrectly assumes that the channels have changed and rebuilds the channel table. This can make EPGnavigator unuseable. The check has been corrected. Note that any channels after the first 125 channels will be ignored by EPGnavigator. The ignored channels will almost always be radio channels. The channel limit will be increased in v4. This bug does not affect UK FreeView users, and probably only affects cable users. v3.1 08-Jan-2007 Version 3.1 adds support for languages other than English. There is a different version of the TAP for each supported language: EPGnavigatorEN.tap - English EPGnavigatorFI.tap - Finnish EPGnavigatorDE.tap - German There are several ways in which the language support could have been added. Having a different version of the TAP for each language keeps the TAP small and keeps the extra code required for the translation to a minimum. The small graphics icons such as the red dot used to indicate a record timer in the TIMERS screen are cached in memory. Previously this cache would get corrupted if EPGnavigator was displayed, then another TAP started (such as playing a game), then EPGnavigator displayed again. This is now fixed. v3.0 24-Dec-2006 Version 3.0 adds support for the TF5000 and TF5100 PVR models. Changing the PVR model in SETTINGS changes the Remote Control key layout. After changing the model the Remote Control keys are reset to default values. EPGnavigator must be stopped and started for the model change to take effect. v2.5 10-Dec-2006 The previous release changed the way the SETTINGS screen handled remote control keys. Any key can be selected from a list of all possible keys. This implementation was incomplete and is changed as follows. A number of core keys are not configurable and are used for obvious functions in all screens. These core keys are: OK UP DOWN LEFT RIGHT EXIT REVERSE FORWARD MENU INFO PLAY RECORD MUTE All other functions are now configurable in SETTINGS. The HELP screens now show all remote keys and their current functions. The EPG grid and list views display up to 3 lines of programme description at the bottom of the screen. Previously the lines were split rather crudely. The line split code has been changed to be more precise and make maximum use of the available space. The table move up and down code had a small but significant bug. This was only noticable when a table had 1 more data row than the number of rows that could be displayed on the screen, and a data row was deleted. The screen would then be incorrectly updated. In practice this could only happen in the TIMERS screen when deleting a timer to leave 10 timers. This has been fixed. At the same time the display of small tables that fit on to a single screen has been optimised. EPGnavigator has been tested with the DescriptionExtender TAP v2.0 a some small enhancements made to the the way the extended description is handled. The EPG grid view would sometimes incorrectly refresh the clock and draw a small black square at random positions on the screen. This has been fixed. Previously adding a timer immediately prior to an exsisting timer, and specifying that the existing timer should be extended, would create a timer that was too long by 1 minute. This has been fixed. In the TIMERS screen if a new record timer was created, but the no changes were made to the EDIT or ADD TIMER screen, then on return to the TIMERS screen the screen would not be refreshed. This has been fixed. The way the configuration file is read and written by the SETTINGS screen has changed a little. This should have little effect. v2.4 29-Oct-2006 The remote control key for some features can be set in SETTINGS. Previously the choice of keys was limited. This has now been changed so that all keys are available for selection. Some combinations of keys do not make sense and will not work in practice. EPGnavigator does not check for such combinations and does not prevent the user selecting such combinations. There is a new option in SETTINGS to stop EPG data being written to disk for a specified period each day. The default is to block writes overnight from 23:00 to 8:00. The end of the configuration file and UKAS file have been tidied. Unused bytes to the next 512 byte boundary are now filled with spaces. v2.3 02-Oct-2006 EPGnavigator checks the PVR state before starting and tries not to start if there is another TAP active on the screen. The check uses the API, and the API does not return full information about the PVR state. Consequently EPGnavigator may start even if there is another TAP active. EPGnavigator now additionally examines the PVR screen to see if there is another TAP active. This improves the reliablity of the check. EPGnavigator now supports the UK Auto Scheduler TAP (UKAS). In the grid and list views, details about the selected programme can be written to file UkAutoRemote.txt as a new UKAS search. If UKAS has the TRC option enabled then UKAS will look for this file periodically and add the search to the other UKAS searches. EPGnavigator now supports a skin file that allows the EPGnavigator colours to be set. The file is called EPGnavigator.skn and an example skin file is included in the release. The file is a simple text file and comments in the file describe the file format. There is no skin editor. The HELP screens and SETTINGS help text have been corrected. In the KEYBOARD screen, the PLAY key now inserts a space. The maximum number of programmes that EPGnavigator can store is increased to 11,000. v2.2 31-Aug-2006 EPGnavigator has been tested with the UK July 2006 PVR firmware. No changes were required because of this firmware. EPGnavigator has been tested with the current Description Extender TAP. This resulted in a few small changes to improve functionality. EPGnavigator now distinguishes between record timers and watch timers. Previously both types of timer were treated as record timers. This has resulted in a number of changes as follows. In the EPG grid and list views record timers are shown in red as before. Watch timers are now shown in green. In the EPG grid and list views the RECORD and PLAY keys behave differently. Pressing RECORD on a programme without a timer creates a record timer. Pressing PLAY on a programme without a timer creates a watch timer. Pressing RECORD on a programme with a record timer edits the timer. Pressing PLAY on a programme with a watch timer edits the timer. Pressing RECORD on a programme with a watch timer changes the timer to a record timer. Pressing PLAY on a programme with a watch timer changes the timer to a record timer. Pressing the delete key (see the SETTINGS screen) on a programme with a timer deletes the timer. The default for the delete key is WHITE. This may clash with the EPG 'go to now' key. A significant amount of new timer code was introduced in v2.0 but this code was only used in the TIMERS screen. This code has been enhanced and is now used in all EPGnavigator screens. The PVR does not reliably process watch timers set by a TAP. EPGnavigator can now process watch timers and simulate the timer behaviour. This processing can be enabled or disabled in the SETTINGS screen. There are a number of other changes. The EPG grid and list views can now switch between TV and radio by pressing TV/Sat. This functionality should use the TV/Radio key, but this key returns the same value as the LIST key. In the future EPGnavigator will support the Remote Extender TAP. A timer on the last row of the EPG grid or list view would be partially overwritten by the programme information at the bottom of the screen. This has been fixed. The EPG grid view can now show 60, 90, 120 or 180 minutes of programme information. The grid view window size is set in the SETTINGS screen. The EPGnavigator start key can now be set to OK as well as GUIDE and RECALL. v2.1 28-Jul-2006 When editing a timer it is now possible to edit the timer name. The check for a change in the EPG data for a programme has been enhanced. Previously a program was identified by name, start time and end time. Now the first 127 characters of the description are also compared. The code to automatically write EPG data to disk has been changed. The daily channel scan always writes the EPG data to disk at the end of the scan. With the new July 2006 firmware this scan is no longer required, since the PVR is much better at collecting EPG data. In addition to the daily scan, EPGnavigator runs a check in the background every few minutes, to see if there are enough changes to the EPG data to make a write to disk worth while, since EPGnavigator gathers EPG data all the time. This check was imprecise and unreliable and has been simplified. The check now only counts the number of new programmes. Changed programmes are not included in the check. The number of new programmes is compared to the number of channels and if there are more, the EPG data is written to disk. To avoid excessive disk activity the number of channels is multipled by 2 in the first 15 minutes after the last disk write (or read). The number of channels is divided by 2 after 30 minutes so that lower rates of change are also written to disk. v2.0a 31-May-2006 This is a bug fix release and contains a single fix to a small but important problem introduced in version 2.0. In the EPG grid or list view, if a timer is set to make a recording, and later modified typically by recording the previous or next programme, the modified timer will miss off the .rec extension from the recording name. The programme is recorded successfully but does not appear in the programme list due to the missing .rec extension. This is now fixed. v2.0 22-May-2006 A number of new timer features have been introduced. - Show a list of all timers. - Sort the timer list by start time or name. - From the timer list, add, modify or delete timers. - From the timer list go to a specfic timer in the EPG. v1.6a 20-Mar-2006 In the Settings screen, setting a remote control function to '-' (no key has this function) would crash the PVR. This is now fixed. v1.6 18-Mar-2006 The grid and list views have been optimised to some extent to reduce screen flicker: - only changed areas are displayed. - changed areas are displayed only once. - some areas are built in memory before being displayed. It is now possible to change channel when in playback or when time shifting or when watching an active recording. The grid view is now more precise in the way it calculates the grid start time and the current time is positioned more to the left of the grid. The maximum number of days of EPG data that EPGnavigator will store can now be configured. The default is 8 days to allow for 1 week of programmes. This change is probably only of interest to those people who load the PVR's EPG data manually from an external source using a TAP such as EPG Uploader. The Show Memory option in the Menu screen now also shows the number of programmes currently stored. The initial EPG view, grid or list, can now be configured. The default is the grid view. The grid view channel number display has been increased from 3 to 4 digits to allow for the new UK channel numbers. After starting EPGnavigator the MUTE key will now mute the sound. Previously the MUTE key was discarded. A bug has been fixed when displaying timers in the grid view. Previously a long timer that started some time before the current grid window would cause other shorter timers to be displayed incorrectly. The EPG data loop has been simplified and now runs faster. While EPGnavigator had a memory leak, the EPG data loop included diagnostic and protective code. Now that the memory issue has been resolved any unecessary code has been removed. v1.5a 22-Feb-2006 Previous versions used the DescriptionExtender TAP incorrectly, resulting in a memory leak and ultimately a PVR crash. This problem is now fixed. v1.5 20-Feb-2006 Timers are now displayed, and can be set and deleted, in the programme list by channel view. The remote control keys are now configurable. The default key use is now as follows: GUIDE (first press) Start the EPG GUIDE (second press) Exit the EPG RECALL Switch EPG views The previous version made a change to the timer delete code, and introduced a small bug. If a timer is immediatley followed by another timer, and the second timer spans the underlying programme, then the second timer cannot be deleted. This has been corrected. The Settings screen has changed slightly. The LEFT and RIGHT keys will now select and deselect the value to be edited. v1.4 05-Feb-2006 In previous versions the name of a recording was made up of the programme name, plus the programme start date and time. The start date and time are now optional. Recording names are now limited to 63 characters maximum. This is a PVR restriction. Prior to this change, recording a programme with a long programme name would create a recording, but the recording name would be corrupt. The expansion of repeat timers has been corrected. Previously some types of repeat timer would be expanded to some correct and some incorrect days. Previously, pressing RECORD on a programme with 2 or more timers that were entirely contained within the programme start and end times, would cause the first timer to be deleted, but might also delete other timers incorrectly. Now only the first timer is correctly deleted. The screen layout has been changed slightly. Previously the screen layout was correct on a 4:3 TV, but the layout was distorted by the PVR on a 16:9 TV. The screen layout has been changed slightly so that the distorted 16:9 layout is more acceptable. Following on from the above change the screen background has been changed to be mostly black. This causes the background to merge with the black side bars when the EPG is shown as 4:3 on a 16:9 TV. Both the grid and list view now have a digital clock. The current time dot in the channel/grid view now correctly uses the horizontal and vertical screen offsets. Previously changing the vertical screen offset would not change the dot position unless the EPG was exited and restarted. The current time mark in the channel/grid view now only displays when the current time is in within the grid. Previously the mark would stay displayed on the far left or far right. The refresh of the grid view programme area has been optimised a little. The table cell for this area is no longer automatically redrawn by the graphics routines. The code to get and save EPG data no longer uses the programme Event Id. Previously the Event Id was used as a unique identifier for a programme. This was overly complex and of little benefit. Programmes are now identified only by channel, start time, end time and name. This change is only of interest to those people who load the PVR's EPG data manually from an external source using a TAP such as EPG Uploader, since the external data does not typically contain an Event Id. All remaining color definitions have been changed from being constants to being variables to give more flexibility when working with colors. Key activities within the programme are now time stamped. This will be used at some point to improve performance by removing unnecessary inialisations and refreshes. v1.3 15-Jan-2006 The DescriptionExtender TAP is now supported. Programme extended information can now be displayed by pressing the remote control INFO key. Extended information is only available to those people who load the PVR's EPG data manually from an external source using a TAP such as EPG Uploader. The list view has been changed to maintain a pointer to the selected programme. This brings the list view into line with the grid view. The debug functions have been changed to correctly handle the limitaions of the serial port API functions. The API functions may crash the PVR if asked to write than more than 256 characters. The debug functions are normally disabled in publically available versions of EPGnavigator. v1.2b 31-Dec-2005 The changes to the message functions in v1.2a introduced another error. A message with options, such as 'save changes' or 'abandon changes' in the Settings screen, would not process the options. This is fixed. v1.2a 29-Dec-2005 A bug in one of the timer functions has been corrected (GetTimers). If the first 2 timers in the fully expanded timer list were for the same repeat timer then the function would go into a loop and the PVR would hang. So if the timer list has just one repeat timer, or if there are other timers but these are several days in the future, then the PVR will experience this problem. This fix also exposed an error in the message display functions and this has also been fixed. A message displayed for an indefinite time would not be cleared. The message would disappear but only as a result of other functions refreshing the screen, not the message functions clearing the screen. v1.2 27-Dec-2005 Various options in EPGnavigator can now be configured. The configuration screen is accessed once EPGnavigator is started by pressing MENU then selecting the Settings option. Several modules were changed to more correctly handle the configurable options. The configuration is saved in a text file called EPGnavigator.cfg The channel/programme grid view now indicates the current time in the grid header. Past and current programmes are now shown with a different colour. A bug in one of the time functions has been corrected (DiffEventTime). The function would incorrectly calculate the difference bewteen 2 times that spanned midnight. The resulting incorrect time would then cause the the EPG display to be drawn incorrectly and the PVR would then typically lock up. The calculation of the channel/programme grid view time window has been reworked. Previously when scrolling forwards or backwards the window start time would be changed by an inconsistent amount of time, usually by an amount less than the size of the time window. The start time is now changed by the size of the time window. The grid and list views are increased in width slightly. As a consequence the EPG screen position may need to be adjusted (centered on the TV screen), to prevent the TV from cropping the edges of the EPG display. EPGnavigator can now be started during playback. Previously it would not start. During playback the option to change channels from EPGnavigator is disabled. EPGnavigator can be made to ignore the RECALL key by pressing UP then RECALL in quick succession. EPGnavigator will not start and the RECALL key will be passed on to any other TAPs that are running. The Menu now has options to start and stop the channel scan. The refresh of the table footer has been slightly optimised to not redraw the table border. EPGnavigator now keeps 3 hours of past EPG data. This is reduced from 24 hours. Color definitions have been changed from being constants to being variables to give more flexibility when working with colors. Minor corrections have been made to the global variable definitions and declarations in several modules. v1.1 25-Nov-2005 As before EPGnavigator is started with the RECALL key. Previously the GUIDE key was then used to toggle between the 2 EPG views (grid and list). This has changed so that the RECALL key is now used for both of these functions. This allows EPGnavigator to more easily run alongside another EPG that uses the GUIDE key. An option has been added to the menu to display the current memory usage. This will help show whether the PVR is leaking (loosing) memory. For this option to be of most use, then EPGnavigator needs to be the last TAP started. Previous versions identified a channel by the channel number (LCN) and this had to be unique. As a consequence duplicate channels were not allowed and EPGnavigator would not start. Channels are now identified by using the channel multiplex as well as the channel number, so that EPGnavigator can now run with duplicate channels. This required a change to the internal EPG data structures, and as a consequence the format of EPG data saved to disk has changed. The format of any existing EPGnavigator.evt files is now invalid and such files will be ignored when EPGnavigator next starts, resulting in no programme information being displayed on startup. A change channel option (remote control OK key) has been added to the programme list by channel view, so that this view behaves the same as the channel/programme grid view. The number of lines of help text on the help screens has been increased to fill the screen. API calls to TAP_Delay() have mostly been removed to avoid possible PVR problems with long delays. As a consequense the handling of popup messages has changed slightly. Messages will still display for a fixed time and then be removed, but in addition a messsage can be removed by pressing the OK or EXIT keys. The message code was changed significantly, so there may still be minor bugs in this area. The screen drawing routine that draws the background of a table cell has been slightly optimised to reduce screen flicker and be faster. Previously a cell may have been seen to be drawn as black then redrawn with blue. The restore state routine has been changed to correctly restore the original screen state. The background idle loop to gather EPG data has been changed to run slower. A complete loop through all channels will now take about 3 minutes for 100 channels, rather than seconds. This change may eliminate some or all of the random PVR lockups experienced when EPGnavigator is started or is running. The PVR state check in the event loop has been simplified. v1.0 10-Nov-2005 Initial release. END OF DOCUMENT