EPGnavigator v2.1 Release Notes 28-Jul-2006 1. Introduction =============== EPGnavigator is an EPG TAP for the Topfield 5800 UK FreeView PVR. 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 and v2.0a 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 program extended information. Functionality to be inlcuded in future releases: - Repeat recordings based on programme name. - Programme search based on programme name. - Reorder and delete channels from the EPG. 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 ================================= Version 2.1 contains these changes: 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. There are no bug fixes in this release. Any bugs in v1.6a will probably still be in this version. See the history section at the end of this document for full details of the changes in this release. 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 UP then GUIDE in quick sucession. 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 the remote control key functions are configurable. 6. 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 EPGnaviagtor 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. 7. Support ========== Send any comments or suggestions to EPGnavigator@tiscali.co.uk or visit the TAPs forum at www.toppy.org.uk 8. Revision history =================== 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.