TF5000Display TAP 1.26, written by DeadBeef


Beschreibung:
=============

Das TF5000Display TAP modifiziert die Standardanzeige im vierstelligen Display vom PVR,
whrend der Receiver eingeschaltet ist. Das TAP erweitert die Standardanzeige um folgende
Informationen:
- aktuelle Uhrzeit
- Kanalname
- Aufnahmeinfo: Kanalnummer bzw. -name sowie Restdauer
- Wiedergabeinfo: Restdauer oder Wiedergabedauer, Pause-Anzeige, MP3-Informationen

Das Konfigurationsmen kann mit der EXIT-Taste (Standard) bzw. mit der im Men eingestellten
Taste aufgerufen werden.

Folgende Optionen stehen zur Verfgung:
o "Mentaste" - hiermit kann die Menaufruftaste eingestellt werden
  (Exit, Subtitle, UHF, Sleep, TV/Sat, TSRCommander)
  Der Wert "TSRCommander" aktiviert die Steuerung mit dem TSRCommander.
  In diesem Fall kann das TAP nur ber TSRCommander konfiguriert bzw. beendet werden.
o "Uhrzeitformat" - diese Einstellung gibt an, in welchem Format die Uhrzeit eingeblendet
  werden soll:
  - "24 Std. (ohne fhrende Null)"  24-Stunden-Anzeige (von "0:00" bis "23:59")
  - "24 Std. (mit fhrender Null)"  24-Stunden-Anzeige (von "00:00" bis "23:59")
  - "12 Std. (ohne fhrende Null)"  12-Stunden-Anzeige (von "1:00" bis "12:59",
    der Punkt nach der letzen Ziffer zeigt Nachmittag/PM an)
  - "12 Std. (mit fhrender Null)"  12-Stunden-Anzeige (von "01:00" bis "12:59",
    der Punkt nach der letzen Ziffer zeigt Nachmittag/PM an)
o "Uhrzeit-Dauer" - diese Einstellung gibt an, wie lange die Uhrzeit eingeblendet werden
  soll, falls die Uhrzeit mit anderen Informationen abwechselnd angezeigt wird
  Zustzliche Werte (nach links scrollen, um zu selektieren):
  "aus" - die Uhrzeitanzeige ist deaktiviert
  "ereignis-gesteuert" - Hauptmodus ist die Uhrzeitanzeige, bei Statusnderungen 
    (Kanalwechsel, Aufnahme-/Wiedergabebeginn) wird die entsprecende Info fr die
    eingestellte Dauer eingeblendet
o "Info-Dauer" - diese Einstellung gibt an, wie lange die zustzlichen Informationen jeweils
  eingeblendet werden sollen. Die Einstellung ist nur wirksam, wenn Zusatzinformationen
  vorliegen bzw. ihre Anzeige aktiviert ist. Darber hinaus wird diese Einstellung ignoriert,
  wenn die Zusatzinformationen gescrollt werden mssen.
o "Kanalinfo" - diese Option whlt den Modus fr die Kanalanzeige aus:
  - "aus" - es werden keine Informationen zum aktuellen Kanal angezeigt
  - "Kanalnummer" - die aktuelle Kanalnummer (bzw. Kurzname, falls konfiguriert) wird angezeigt
  - "Sendername" - der aktuelle Sendername wird angezeigt
  - "Kanalnummer & Sendername" - die Kanalnummer (bzw. Kurzname) und der Sendername werden angezeigt
  - "Sendername (nur Radio)" - der aktuelle Sendername wird nur fr Radiokanle angezeigt,
    fr TV-Sender wird nur die Kanalnummer angezeigt
o "Aufnahmeinfo" - diese Option whlt den Modus fr die Aufnahmeanzeige aus:
  - "aus" - es werden keine Informationen zu aktuellen Aufnahmen angezeigt
  - "nur Status" - der aktuelle Aufnahme-Status wird angezeigt ("rEc1/"rEc2")
  - "Kanalnummer" - die Kanalnummer der jeweiligen Aufnahme wird angezeigt
  - "Sendername" - der Sendername der jeweiligen Aufnahme wird angezeigt
  - "Kanalnummer & Restdauer" - die Kanalnummer (bzw. Kurzname) der jeweiligen Aufnahme wird 
     zusammen mit ihrer Restdauer angezeigt
  - "Status & Kanalnummer kompakt" - der Aufnahmenummer ("I"/"II") wird  zusammen mit der
    Kanalnummer der jeweiligen Aufnahme angezeigt. Fr TV-Aufnahmen erscheint die Aufnahmenummer
    in der unteren Hlfte der Anzeige, fr Radio-Aufnahmen in der oberen.
  - "Status & Restdauer kompakt" - der Aufnahmenummer ("I"/"II") wird  zusammen mit der
    Restdauer der jeweiligen Aufnahme angezeigt. Fr TV-Aufnahmen erscheint die Aufnahmenummer
    in der unteren Hlfte der Anzeige, fr Radio-Aufnahmen in der oberen.
  - "animierter Kurzname" - die Kanalnummer bzw. -kurzname der jeweiligen Aufnahme wird mit
    laufenden Punkten dargestellt
o "Wiedergabeinfo" - diese Option whlt den Modus fr die Aufnahmeanzeige aus:
  - "aus" - es werden keine Informationen zur Wiedergabe angezeigt
  - "nur Status" - der aktuelle Wiedergabe-Status wird ggf. angezeigt ("PLAY")
  - "Restdauer" - die Restdauer der Aufzeichnung wird in negativer Notation angezeigt
  - "Status & Restdauer" - "PLAY" wird zusammen mit der Restdauer der Aufzeichnung in negativer
    Notation angezeigt
  - "Wiedergabedauer" - bei Wiedergabe wird die Zeit seit Beginn der Aufzeichnung angezeigt
  - "Status & Wiedergabedauer" - "PLAY" wird zusammen mit der Zeit seit Beginn der Aufzeichnung
    angezeigt
o "Scrollgeschw." - gibt an, wie schnell gescrollt werden soll
o "LCN benutzen" - gibt an, welche Kanalnummer fr die Anzeige benutzt werden soll
  (gilt sowohl fr die Kanalnummeranzeige als auch fr die Anzeige der TV-Kurznamen):
  - "aus" - fr die Anzeige wird die normale Kanalnummer benutzt 
  - "an" - fr die Anzeige wird die vom Sender bertragene Kanalnummer (LCN) benutzt

Die Einstellungen werden gespeichert, wenn das Konfigurationsmen mit OK oder der eingestellten
Mentaste verlassen wird.

Wird im Konfigurationsmen die Stop-Taste gedrckt, so wird das TAP beendet.

Das TAP untersttzt Kurznamen fr TV-Kanle, die statt der Kanalnummer angezeigt werden.
Die Abbildung der Kanalnamen ist in der Konfigurationsdatei "TF5000Display.chn" im Verzeichnis
ProgramFiles abzulegen.
Das Format der Eintrge in der Sektion [names] ist wie folgt:
<Kanalnummer>=<Kurzname>
Es werden Eintrge fr Kanalnummern unterhalb 2001 untersttzt (ein Eintrag pro Zeile).
Beispiele:
[names]
  1 = BBC1	=> TV-Kanal 1
002 = SkyN	=> TV-Kanal 2
P3=CNN		=> TV-Kanal 3
p4 =RTL		=> TV-Kanal 4
r2 = SWR3	=> Radiokanal 2
 R3=ANT		=> Radiokanal 3

Kurznamen werden nur in folgenden Modi angezeigt:
"Aufnahmeinfo" = "Kanalnummer" / "Kanalnummer & Restdauer"
"Kanalinfo" = "Kanalnummer"

Die Symboldarstellung kann in der Sektion [font] der TF5000Display.chn Datei mit
folgender Syntax modifiziert werden:
[font]
a = 0x77
b = 0x7C
c = 0x58

Die einzelnen Bits der Hexadezimalzahl entsprechen den folgenden Segmenten der Anzeige:

     b0
     --
  b5|  | b1
     -- b6 (mittlerer Strich)
  b4|  | b2
     -- o b7 (Punkt)
     b3

b0 = 0x01
b1 = 0x02
b2 = 0x04
b3 = 0x08
b4 = 0x10
b5 = 0x20
b6 = 0x40
b7 = 0x80

Es knnen nur die Darstellung von Buchstaben definiert werden (A-Z). Die Definition
gilt fr Gro- und Kleinbuchstaben.
Ist die Sektion [font] in der Konfigurationsdatei nicht vorhanden oder sind nicht
alle Zeichen definiert, so wird fr die nicht definierten Zeichen die
Standarddarstellung verwendet.
Die Standarddarstellung liegt in der Beispiel-Konfigurationsdatei bei.


Einschrnkungen:
----------------

Das TAP benutzt eine versionsabhngige Einsprungadresse. Die Suchfunktion fr die
Einsprungaddresse wurde mit vielen verschiedenen Firmwareversionen getestet. Die
Kompatibilitt mit den Knftigen Firmwareversionen kann nicht garantiert werden.

Das TAP untersttzt folgende Topfield PVR Modelle:
 - TF5000PVR
 - TF5000PVR BP
 - TF5000PVRt
 - TF5000PVRt BP
 - TF5100PVRc
 - TF5100PVRt
 - TF5800PVRt
 - TF5200PVRc
 - ProCaster 5101PVRc
 - ProCaster 5101PVRt

"Wer behauptet fehlerfreie Software zu haben, hat sie nicht genug getestet."
Benutzung auf eigene Gefahr!

Description:
============

The TF5000Display TAP enhances the information displayed in the 7-segment display of the
PVR while the receiver is on. The TAP can be configured to provide the
following information:
- current time
- channel name
- record info: number/name of the channel being recorded and the remaining time
- playback info: the elapsed/remaining playback time, pause display, MP3 info

The configuration menu can be entered by pressing the Exit key (by default) or the
configured key.

The following options are supported:
o "Menu key" - specifies the menu activation key (Exit, Subtitle, UHF, Sleep, TV/Sat, TSRCommander)
  The setting "TSRCommander" activates the TAP control by TSRCommander. That is, the
  TAP can only be configured/stopped via TSRCommander.
o "Time format" - specifies the time format to be displayed:
  - "24h (without leading zero)"  24-hour format ("0:00" thru "23:59")
  - "24h (with leading zero)"  24-hour format ("00:00" thru "23:59")
  - "12h (without leading zero)"  12-hour format ("1:00" thru "12:59",
    the dot after the last digit indicates PM)
  - "12h (with leading zero)"  12-hour format ("01:00" thru "12:59",
    the dot after the last digit indicates PM)
o "Clock duration" - specifies the display duration of the current time when altered with
   additional info
   Additional setting values (scroll left to select):
   "off" - the time is not displayed
   "event-driven" - the display shows state changes (start of playback/recording, channel change)
      for the specified number of seconds in the specified format, thereafter the current
      time is displayed
o "Info duration" - specifies the display duration of the additional info items (if any)
   However, this value is ignored if the additional info needs to be scrolled.
o "Channel info" - specifies the mode for displaying channel info:
  - "off" - no information is displayed for the viewed channel
  - "channel number" - the channel number (or short name, if any) of the viewed channel is displayed
  - "channel name" - the channel name of the viewed channel is displayed
  - "ch. number & name" - both the channel number and name of the viewed channel are displayed
  - "channel name (radio only)" - the channel name of the current channel is displayed for radio
    channels, for TV channels the channel number (or short name, if any) is displayed
o "Record info" - specifies the mode for displaying record info:
  - "off" - no record info is displayed
  - "status only" - only the record status is displayed ("rEc1/"rEc2")
  - "channel number" - the channel number (short name, if any) of the channel being recorded
     is displayed
  - "channel name" - the channel name of the channel being recorded is displayed
  - "ch. number & remaining time" - the channel number of the channel being recorded is
    displayed along with the remaining time
  - "compact status & ch. number" - the recording status ("I"/"II") is displayed combined with
    the number of the channel being recorded
  - "compact status & remaining time" - the recording status ("I"/"II") is displayed combined
    with the remaining recording time
  - "animated short name" - the short name of the channel being recorded is displayed with
     animated dots
o "Play info" - specifies the mode for displaying record info:
  - "off" - no record info is displayed
  - "status only" - only the playback status is displayed ("PLAY")
  - "remaining time" - the remaining time is displayed (negative notation)
  - "status & remaining time" - the playback status ("PLAY") is displayed along with the
    remaining time (negative notation)
  - "elapsed time" - the time elapsed since begin of the playback
  - "status & elapsed time" - the playback status ("PLAY") is displayed along with the
    time elapsed
o "Scroll speed" - specifies the scrolling speed
o "Use LCN" - specifies which channel number to use for displaying
  (used for both the channel number display and the display of short TV channel names):
  - "off" - the regular channel is used for displaying
  - "on" - the LCN is used for displaying

Press OK or the menu activation key to leave the configuration menu. On exit the configuration
is stored to HDD.
(If the Exit key was used to exit the configuration menu it is passed to the next TAP if any.)

In order to terminate the TAP press the Stop key in the configuration menu.

The TAP supports TV channel nicknames supplied in the TF5000Display.chn configuration file
being present in the ProgramFiles directory.
TV channel nicknames are displayed instead of the channel number or LCN. The entries in the
section [names] have to be in the following format:
<channel number>=<channel nickname>
The TAP supports entries for channel numbers below 2001 (one entry per line). 
Since only 4 characters can be displayed without scrolling longer channel nicknames are truncated.
Whitespaces are discarded except when used in the middle of the channel nickname.
Examples:
  1 = BBC1	=> TV channel 1
002 = SkyN	=> TV channel 2
P3=CNN		=> TV channel 3
p4 =RTL		=> TV channel 4
r2 = SWR3	=> radio channel 2
 R3=ANT		=> radiochannel 3

Short channel names can be displayed only in the following modes:
"Record info" = "channel number" / "ch. number & remaining time"
"Channel info" = "channel number"

The symbols to be displayed can be modified in the section [font] of the configuration file.
The syntax is as follows:
[font]
a = 0x77
b = 0x7C
c = 0x58

The bits of the hex number correspond to the following segments of the 7-segment display:

     b0
     --
  b5|  | b1
     -- b6 (middle dash)
  b4|  | b2
     -- o b7 (dot)
     b3

b0 = 0x01
b1 = 0x02
b2 = 0x04
b3 = 0x08
b4 = 0x10
b5 = 0x20
b6 = 0x40
b7 = 0x80

Only the symbols for character A-Z can be modified. The symbol definitions are used
for both the upper case and the lower case characters.
If the section [font] is not present or contains only a few symbol definitions then
the TAP will use default symbols for remaining characters.
Default symbol definitions are supplied in the configuration file example.

Limitations:
------------

The TAP uses a firmware function which address is version-dependent. The address search
function has been tested with several firmware versions. Though, it cannot be guaranteed
that the search funtion (i.e. the TAP functionality) is compatible with the future
firmware versions.

The TAP supports the following Topfield PVR models:
 - TF5000PVR
 - TF5000PVR BP
 - TF5000PVRt
 - TF5000PVRt BP
 - TF5100PVRc
 - TF5100PVRt
 - TF5800PVRt
 - TF5200PVRc
 - ProCaster 5101PVRc
 - ProCaster 5101PVRt

"There is no bugfree software. You just did not try hard enough."
The software is provided as is. No warranty of fitness for a particular purpose
is offered. Use this software at your own risk!

Version history:
================
1.26
 - fixed an issue with freezing display when recording stopped
1.25
 - added ProCaster 5101PVRc and 5101PVRt to the list of supported devices
 - introduced a new display mode for the recording - "animated short name"
 - increased the range of short channel names to 2000
1.24
 - added TF5200PVRc to the list of supported devices
 - added playback pause display ("PAUS")
 - added displaying of the MP3 info ("<title> - <interpreter>")
 - added recognition of OSD to prevent entering configuration menu while another
   TAP displays an OSD
1.23
 - added support for short names assigned to radio channels
 - increased the overrun buffer for retrieving the info of a playback (hopefully fixing
   the problem with playback of some records)
 - removed displaying menu names (FILE, EPG etc.) due to inconsistent data provided by the FW
1.22
 - introduced auto-detection of the firmware display function (kind of enables support
   for future firmware versions without changing the TAP, unless the FW is significantly
   modified)
 - added a new configuration option for LCN usage
 - added support for user-defined character symbols
 - fixed the issue with terminating the play/record info display after stopping the activity
   (the previous version continued to display the info until the specified period of time
   expired)
1.21
 - added a new configuration option for time format to be displayed
 - added support for a configuration file with channel nicknames to be displayed instead
   of TV channel number
 - fixed the issue with the 12-hour mode and the remaining/elapsed time display
1.20
 - improved interactions with the FW with respect to flickering (FW output does not
   disturb the TAP output anymore)
 - added displaying messages on stopping the recording in event-driven display mode
 - added the 12-hour time format to be displayed if the language setting is English
   (don't confuse it with the English output in the TAP menu, it is the default language
   for all language settings other than German)
 - changed the firmware version check for TF5100PVRt 04/05/05 (5.11.69 => 5.11.70)
 - fixed the freezing issue for the setting time = "off" and channel = "off"
1.19
 - renamed the TAP file (TF5000Display)
 - renamed the ini file and moved it into ProgramFiles directory
 - added passing the Exit key to next TAP (when OK is pressed in the menu, for Australia only)
 - added an event-triggered mode to display status changes (PLAY, REC, channel change)
 - added support for TF5100PVRc 03/03/05 (5.11.46), experimental support, not yet tested
 - added support for TF5100PVRt 04/05/05 (5.11.69), experimental support, not yet tested
 - added support for TF5100PVRc 04/05/05 (5.11.70)
 - improved system ID recognition (still not perfect)
1.18
 - added two modes to display the elapsed time for playback
 - added displaying channel name for radio channels only
 - added support for TF5000PVRt BP/Aus FW (5.11.64), experimental, not yet tested
 - added support for TF5000PVR BP FW (5.11.56), experimental, not yet tested
 - improved the workaround for the TAP_GetPlayInfo() problem, now the time
   can always be displayed
1.17
 - added support for TSRCommander
 - added support for TF5800PVR FW (5.11.79), experimental, not yet tested
 - added a workaround for the TAP_GetPlayInfo() problem
1.16
 - fixed the problem with (re-)storing configuration values (time duration = 0 and
   display mode)
1.15
 - added displaying LCN instead of channel number for the Australian FW
 - added support for the Australian FW versions 5.11.71 and 5.11.78 (PVRt/Aus)
1.14
 - added displaying playback status along with the remaining time
 - added support for the 5.11.90 FW version (PVRt/Eur)
 - added support for the Australian FW versions 5.11.56 and 5.11.90 (PVRt/Aus)
 - enabled the clock duration to be set to 0 (deactivates the current time display)
 - added an option for menu activation key
 - fixed the problem with short channel names (unused positions were filled with
   random characters)
1.13
 - added compact representation of the record number ("I"/"II") and the remaining
   recording time
 - fixed the problem with erasing the TV/STB LED
 - fixed the problem with a persistent colon in scrolling mode
1.12
 - added compact representation of the record number ("I"/"II") and the channel number
 - added displaying the remaining time for playback
1.11
 - added support for the 5.11.88 FW version (PVR)
 - fixed vertical selection bug in the menu
1.10
 - extended information to be displayed
1.01
 - corrected exit key handling (the key is now passed to other TAPs on exit from
   configuration menu)
 - incorporated support for both the PVR (5.11.55) and the PVRt/Eur (5.11.56) models  
1.00
 - initial version
