summaryrefslogtreecommitdiff
path: root/doc-src
diff options
context:
space:
mode:
authorChristian Wieninger <winni@debian.(none)>2007-11-11 15:40:28 +0100
committerChristian Wieninger <winni@debian.(none)>2007-11-11 15:40:28 +0100
commit8d4f8607dc1558ce73eb4c376bdbf78ddb65da83 (patch)
treed0c5dde81a36ab2e8a2edc7c1e6922556518b312 /doc-src
downloadvdr-plugin-epgsearch-8d4f8607dc1558ce73eb4c376bdbf78ddb65da83.tar.gz
vdr-plugin-epgsearch-8d4f8607dc1558ce73eb4c376bdbf78ddb65da83.tar.bz2
Initial commit
Diffstat (limited to 'doc-src')
-rw-r--r--doc-src/de/epgsearch.1.txt1187
-rw-r--r--doc-src/de/epgsearch.conf.5.txt142
-rw-r--r--doc-src/de/epgsearchblacklists.conf.5.txt72
-rw-r--r--doc-src/de/epgsearchcats.conf.5.txt140
-rw-r--r--doc-src/de/epgsearchchangrps.conf.5.txt73
-rw-r--r--doc-src/de/epgsearchcmds.conf.5.txt78
-rw-r--r--doc-src/de/epgsearchdirs.conf.5.txt97
-rw-r--r--doc-src/de/epgsearchmenu.conf.5.txt133
-rw-r--r--doc-src/de/epgsearchswitchtimers.conf.5.txt75
-rw-r--r--doc-src/de/epgsearchtemplates.conf.5.txt60
-rw-r--r--doc-src/de/epgsearchuservars.conf.5.txt188
-rw-r--r--doc-src/de/noannounce.conf.5.txt53
-rw-r--r--doc-src/de/timersdone.conf.5.txt55
-rw-r--r--doc-src/en/createcats.1.txt120
-rw-r--r--doc-src/en/epgsearch.1.txt1116
-rw-r--r--doc-src/en/epgsearch.4.txt880
-rw-r--r--doc-src/en/epgsearch.conf.5.txt145
-rw-r--r--doc-src/en/epgsearchblacklists.conf.5.txt71
-rw-r--r--doc-src/en/epgsearchcats.conf.5.txt133
-rw-r--r--doc-src/en/epgsearchchangrps.conf.5.txt65
-rw-r--r--doc-src/en/epgsearchcmds.conf.5.txt73
-rw-r--r--doc-src/en/epgsearchdirs.conf.5.txt103
-rw-r--r--doc-src/en/epgsearchmenu.conf.5.txt144
-rw-r--r--doc-src/en/epgsearchswitchtimers.conf.5.txt73
-rw-r--r--doc-src/en/epgsearchtemplates.conf.5.txt59
-rw-r--r--doc-src/en/epgsearchuservars.conf.5.txt182
-rw-r--r--doc-src/en/noannounce.conf.5.txt71
-rw-r--r--doc-src/en/timersdone.conf.5.txt52
28 files changed, 5640 insertions, 0 deletions
diff --git a/doc-src/de/epgsearch.1.txt b/doc-src/de/epgsearch.1.txt
new file mode 100644
index 0000000..3ac4223
--- /dev/null
+++ b/doc-src/de/epgsearch.1.txt
@@ -0,0 +1,1187 @@
+=head1 NAME
+
+F<epgsearch> - Suchtimer und Ersatz für VDR's Standard-Programm-Menü
+
+=head1 BESCHREIBUNG
+
+EPG-Search kann als Ersatz für VDR's Standard-Programm-Menü verwendet
+werden. Es sieht genauso aus, erweitert es aber um einige zusätzliche
+Funktionen.
+
+Ein weiterer Punkt sind die sog. Suchtimer die dafür
+sorgen, dass Timer automatisch programmiert werden.
+
+ - Befehle für EPG-Einträge mit verschiedenen integrierten Befehlen wie
+ z.B. 'Wiederholungen anzeigen', 'Suche anlegen'. Man kann eigene
+ Befehle hinzufügen, um z.B. einen VDRAdmin Autotimer anzulegen.
+
+ - Bis zu 4 weitere Zeitpunkte im Menü 'Was läuft jetzt?' neben 'Jetzt'
+ und 'Nächste', sowie ein optionales Favoritenmenü.
+
+ - Suche im EPG: Anlegen von wiederverwendbaren Abfragen, die auch als
+ 'Suchtimer' verwendet werden können.
+
+ - Suchtimer: Sucht im Hintergrund nach Sendungen und erzeugt einen
+ Timer bei passenden EPG-Einträgen (ähnlich zu VDRAdmins Autotimern)
+ oder informiert über die Sendung via OSD.
+
+ - Vermeidung von doppelten Aufnahmen der gleichen Sendung
+ * Timer-Vorschau
+ * Erkennung abgebrochener Aufnahmen
+ * Fuzzy-Vergleich von Sendungen
+
+ - Fortschrittsbalken in 'Jetzt' und 'Nächste'
+
+ - Zeit im Menü 'Jetzt', 'Nächste' kann per Tastendruck verschoben
+ werden, z.B. was läuft 'Jetzt' + 30 Minuten
+
+ - Startmenü 'Programm' oder 'Jetzt' einstellbar.
+
+ - das Menü zur detaillierten EPG-Anzeige (Zusammenfassung) erlaubt den
+ Sprung zur vorherigen/nächsten Sendung
+
+ - Unterstützung erweiterter EPG-Infos in Suchtimern
+
+ - Erweiterung des Timer-Edit-Menüs um Verzeichnisse,
+ benutzerdefinierte Wochentage und Untertitel-Auswahl
+
+ - Timer Konfliktcheck, informiert über OSD-Meldung
+
+ - Timer Konfliktmenü, zeigt die Konflikte an und erleichtert die
+ Konfliktlösung
+
+ - Email-Benachrichtigungen über Suchtimer-Updates und Timer-Konflikte
+
+Funktioniert nur mit >= vdr-1.3.46.
+
+Teile der Quelltexte basieren auf dem repeating-epg-patch von Gerhard Steiner, der mir die Erlaubnis gab, diese zu verwenden. Danke für seine Arbeit!
+
+=head1 OPTIONEN
+
+=over 4
+
+=item -f file, --svdrpsendcmd=file
+
+Pfad zu svdrpsend.pl für externe SVDRP-Kommunikation (Standard ist interne
+Kommunikation, deshalb ist dieser Paramter normalerweise nicht notwendig)
+
+=item -c path, --config=path
+
+zur Angabe eines eigenen Konfigurationsverzeichnisses für alle
+epgsearch-Dateien, Standard ist '<Plugin-Konfig-Verzeichnis>/epgsearch'
+
+=item -l file, --logfile=file
+
+zur Angabe eines abweichenden Dateipfades für epgsearch's Log-File (Standard
+ist epgsearch.log in epgsearch's Konfig-Verzeichnis)
+
+=item -v n, --verbose=n
+
+verbose level für das Log-File. Wert 0 bedeutet kein Logging. Weiter Werte sind
+1 (allgemeine Meldungen), 2 (detaillierte Meldungen), 3 (für Debug-Zwecke)
+
+=item -r, --reloadmenuconf
+
+bewirkt ein Neuladen der epgsearchmenu.conf bei jedem Plugin-Aufruf am
+OSD. Kann für das Testen eines selbst angepaßten Menü-Layouts praktisch sein.
+
+=item -m file, --mailcmd=file
+
+das externe Kommando für den Emailversand. Als Standard wird 'sendEmail.pl'
+benutzt. Wenn ein abweichendes Kommando oder Skript verwendet wird, muss
+sichergestellt sein, dass das gleiche Paramter-Interface verwendet wird, wie
+bei sendEmail.pl.
+
+=back
+
+=head1 Inhalt
+
+ 1. Beschreibung
+ 1.1 Menü Befehle
+ 1.2 Menü Suche
+ 1.2.1 Menü Suche editieren
+ 1.2.2 Menü Suchergebnisse
+ 1.3 Erweitertes 'Jetzt' und 'Nächste'
+ 1.4 Menü Setup
+ 23. Suchtimer
+ 2.1 'Wiederholungen vermeiden' - Im Detail
+ 2.2 Wie funktioniert der Vergleichstest zwischen 2 Sendungen?
+ 2.3 Wie und wo wird der Vergleichstest eingesetzt?
+ 3. Verwendung der Suche durch andere Plugins oder Skripte
+ 4. Verwendung erweiterter EPG Infos
+ 5. Ersetzen des Standardmenü
+ 6. Addons
+
+=head1 1. Beschreibung
+
+Auf den ersten Blick sieht EPG-Search wie der Programm-Menü-Punkt des
+VDR aus.
+Ein Tastendruck auf '0' schaltet die Farbtasten um, so dass weitere
+Funktionen erreicht werden können (die vorgegebene Zuweisung kann per
+Setup angepasst werden):
+
+=head2 1.1 Menü Befehle
+
+Dieses Menü zeigt Befehle an, die auf den ausgewählten Menüeintrag
+angewandt werden können. Es gibt 8 vorgegebene Befehle:
+
+ - Wiederholung: Zeigt Wiederholungen an
+ - Aufnehmen
+ - Umschalten
+ - Suche anlegen: schaltet zum Suchmenü und erzeugt eine Suche mit dem
+ Namen der aktuellen Sendung als Suchbegriff (um die manuelle Erfassung
+ zu vermeiden
+ - Suche in Aufnahmen: durchsucht die Aufnahmen nach einer Sendung mit
+ diesem Namen
+ - Als 'bereits aufgezeichnet' markieren:
+ Hiermit wird die ausgewählte Sendung in die Datei epgsearchdone.data
+ übernommen und epgsearch angewiesen, diese Sendung nicht aufzunehmen, falls
+ der zugehörige Suchtimer mit "Wiederholung vermeiden" geschaltet ist. Ein
+ bereits erzeugter Timer wird beim nächsten Suchtimer-Update automatisch
+ gelöscht.
+ - In/Aus Umschaltliste?:
+ Zum Bearbeiten der Umschaltliste. Wenn eine Sendung in der Umschaltliste
+ enthalten ist, wird kurz vor Beginn eine Ankündigung eingeblendet und dann
+ umgeschaltet. Um die gesamte Umschaltliste einzusehen, bitte
+ 'Suche/Aktionen/Zeige Umschaltliste' aufrufen.
+ - Erzeuge Ausschlussliste:
+ Eine Ausschlussliste wird verwendet um bestimmte Sendungen bei der
+ Verwendung von Suchtimern zu ignorieren. Ein Suchtimer kann beliebige
+ Ausschlusslisten verwenden.
+
+Man kann eigene Befehle hinzufügen, indem man die Datei
+epgsearchcmds.conf im epgsearch-Konfig-Verzeichnis editiert. Eine
+Beispiel-Datei mit Bespielscripts liegt dem Plugin bei (s. Unterverzeichnis
+'scripts', stammt von vdr-wiki.de. Danke an die Autoren).
+
+Das Format der Datei ist identisch zu VDRs commands.conf oder reccmds.conf.
+Wenn ein Befehl ausgeführt wird, werden folgende Parameter übergeben:
+
+ $1: Titel des Programmeintrags
+ $2: Startzeit als time_t-Wert (wie im Shutdown-Skript)
+ $3: Endzeit
+ $4: Programmplatz
+ $5: langer Kanalname
+ $6: Untertitel des Programmeintrags, "" falls nicht vorhanden
+
+Zum Ausführen eines Befehls aus dem Hauptmenü ohne Öffnen des
+Befehlsmenüs genügt es, die zugehörige Nummer des Befehls zu drücken.
+
+=head2 1.2 Menü Suche
+
+Hier kann man eine Suche im EPG erzeugen, editieren, löschen und
+ausführen. Bedienung und Verhalten ist ähnlich zu VDR's Timer-Menü.
+
+=head3 1.2.1 Menü Suche editieren
+
+Das meiste in diesem Menü ist selbsterklärend, deshalb nur einige
+Anmerkungen zu:
+
+=over 4
+
+=item - B<Suche:>
+
+Suchbegriff. Will man nach mehreren Worten suchen, dann bitte mit
+Leerzeichen trennen. Lässt man den Suchbegriff leer (in Verbindung
+mit Suchmodus 'Ausdruck') wird alles akzeptiert. Das kann praktisch
+sein, um z.B. alles zu suchen, was zu einer bestimmten Zeit auf
+einem bestimmten Sender kommt.
+
+Mit 'Blau' kann man auch eine Vorlage für eine Suche
+übernehmen. Falls eine Vorlage als Standard definiert wurde, wird
+bei einer neuen Suche automatisch der Inhalt der Standard-Vorlage
+verwendet.
+
+Hinweis: Die unscharfe Suche ist auf 32 Zeichen begrenzt!
+
+=item - B<Suchmodus:>
+
+'Ausdruck' sucht nach diesem Ausdruck innerhalb eines
+EPG-Eintrags. 'alle Worte' erfordert, dass jedes Wort im EPG-Eintrag
+vorkommt, 'ein Wort' dagegen nur, dass zumindest ein Wort
+auftaucht. 'exakt' vergleicht den gesamten Suchbegriff mit dem
+EPG-Eintrag (praktisch bei kurzen Titeln wie z.B. "Alf"). 'regulärer
+Ausdruck' erlaubt die Angabe eines regulären Ausdrucks zur
+Suche. Ein führender und abschließender '/' ist nicht notwendig. Als
+Standard werden POSIX extended regular expressions verwendet. Wer
+lieber mit Perl kompatiblen regulären Ausdrücken arbeitet, muss
+lediglich im Makefile des Plugins #HAVE_PCREPOSIX=1 in
+HAVE_PCREPOSIX=1 ändern und neu kompilieren. (Dafür ist pcreposix
+notwendig, das mit libpcre von www.pcre.org installiert wird, aber
+auf den meisten Distributionen bereits vorhanden sein sollte).
+
+Eine Beschreibung des Suchprozesses gibt es im MANUAL.
+
+=item - B<Verw. erweiterte EPG Info>
+
+(nur verfügbar, wenn konfiguriert. Siehe weiter unten 'Verwendung
+erweiterter EPG Infos')
+
+=item - B<Ignoriere fehlende Kategorien>
+
+Wenn 'Ja' gewählt ist, verhindert das, dass eine Sendung aus dem
+Suchergebnis ausgeschlossen wird, falls die entsprechende
+Kategorie nicht im EPG vorhanden ist. Vorsicht: Ohne weitere Suchkriterien
+kann das zu einer Flut von Timern führen.
+
+=item - B<Verw. Kanal:>
+
+sucht nur im angegebenen Kanalbereich, der hinterlegten
+Kanalgruppe, z.B. 'Öffentl. Rechtl.' oder 'Sportsender'... oder in
+FTA-Sendern.
+
+ACHTUNG: Nach einer Änderung der Kanal-Reihenfolge sollten unbedingt
+diese Einstellungen der Suchtimer kontrolliert werden!
+
+=item - B<Verwende Wochentag:>
+
+Neben den Wochentagen kann auch eine benutzerdefinierte Auswahl
+getroffen werden, um z.B. nur Montags und Freitags zu suchen.
+
+Die benutzerdefinierte Auswahl findet sich am Ende der Liste
+Son, Mon, ..., Sam, benutzerdefiniert
+
+=item - B<Verwende Ausschlusslisten:>
+
+Hier können eine oder mehrere oder alle Ausschlusslisten selektiert werden.
+Falls ein Suchergebnis auch in einer der gewählten Ausschlusslisten
+erscheint, wird es verworfen.
+
+=item - B<In Favoritenmenü verw.:>
+
+Nur verfügbar, wenn im Setup aktiviert. Mit dieser Option kann eine Suche zur
+Verwendung im Favoritenmenü markiert werden. Dieses Menü listet alle
+Suchergebnisse von Suchen mit dieser Option.
+
+=item - B<Layout des Ergebnismenüs:>
+
+Nur verfügbar, wenn mehr als eine Menüvorlage für Suchergebnisse in
+epgsearchmenu.conf angegeben wurde. Mit dieser Option kann ein anderes Layout
+für die Suchergebnisse dieser Suche gewählt werden.
+
+=item - B<Verwende als Suchtimer:>
+
+falls ja, sucht das Plugin im Hintergrund nach passenden Sendungen
+und erzeugt dafür einen Timer (im Setup muss dazu die Verwendung von
+Suchtimern aktiv sein). Bei der Einstellung <benutzerdefiniert> läßt sich
+über die Taste 'Blau' ein Zeitfenster einstellen, in dem der Suchtimer
+aktiv sein soll.
+
+=item - B<Aktion:>
+
+Standard ist 'Aufnehmen', also das Erzeugen eines Timers für das
+Suchergebnis. Man kann aber auch wählen, dass nur eine Ankündigung
+der Sendung per OSD vorgenommen werden soll. Eine weitere
+Möglichkeit ist 'nur umschalten'. Dadurch wird automatisch eine
+Minute vor Beginn der Sendung auf deren Kanal gewechselt.
+
+=item - B<Serienaufnahme:>
+
+falls ja, wird die Aufnahme in einem Ordner mit dem Seriennamen
+gespeichert. Die Aufnahme selbst erhält den Episondennamen. Falls es
+keinen gibt, wird Datum und Uhrzeit als Episondenname verwendet.
+
+=item - B<Verzeichnis:>
+
+hier kann man ein Verzeichnis angeben, in dem die Aufnahme
+gespeichert wird, z.B. 'SciFi'. Mit der Taste 'Blau' kann ein
+Verzeichnis gewählt werden, das bereits bei anderen Sucheinträgen
+verwendet wird. Die Liste kann außerdem durch Einträge in der Datei
+epgsearchdirs.conf erweitert werden (pro Zeile ein Verzeichnis, ohne
+das führende video-Verzeichnis, s. auch MANUAL).
+
+Wenn man erweiterte EPG-Infos von einem Provider erhält, können im
+Verzeichnis-Eintrag auch Variablen wie "%Genre%" oder "%Category%"
+verwendet werden. Diese werden durch die aktuellen erw. EPG-Infos
+ersetzt, sobald ein Timer erzeugt wird.
+
+Siehe MANUAL 'Using variables in the directory entry of a search timer')
+
+=item - B<Aufn. nach ... Tagen löschen>
+
+Manchen Aufnahmen sollen nur ein paar Tage existieren,
+z.B. Tagesschau. Mit diesem Feature kann man epgsearch sagen, dass
+es die Aufnahme automatisch nach ... Tagen löschen soll
+
+=item - B<Pause, wenn ... Aufnahmen existieren>
+
+Wenn die angegebene Anzahl von Aufnahmen existiert, dann pausiert
+epgsearch mit dem Erzeugen neuer Timer. Erst nach dem Löschen einer
+oder mehrerer Aufnahmen, wird wieder nach neuen Sendungen gesucht.
+
+=item - B<Wiederholung vermeiden>
+
+Wenn man keine Wiederholungen aufnehmen will, versucht dieses
+Feature festzustellen, ob eine Sendung bereits
+aufgenommen/programmiert wurde und überspringt diese dann. Bitte vor
+Verwendung den Abschnitt 'Wiederholungen vermeiden - Im Detail'
+weiter unten lesen.
+
+=item - B<erlaubte Wiederholungen>
+
+Will man eine gewisse Anzahl von Wiederholungen einer Sendung
+erlauben, kann dies hier hinterlegt werden.
+
+=item - B<Nur Wiederh. innerhalb ... Tagen>
+
+Falls Wiederholungen nur innerhalb einer anzugebenden Anzahl Tage
+erlaubt werden sollen, kann dies hier eingestellt werden. 0
+entspricht unbegrenzt.
+
+=item - B<Vergleiche Titel>
+
+Einstellung, ob beim Test, ob eine Sendung identisch ist, auch der
+Titel verglichen werden soll.
+
+=item - B<Vergleiche Untertitel>
+
+Einstellung, ob beim Test, ob eine Sendung identisch ist, auch der
+Untertitel verglichen werden soll. Hat eine Sendung keinen
+Untertitel wird sie als abweichend gewertet und ist damit nicht
+gleich einer anderen Sendung mit oder ohne Untertitel.
+
+=item - B<Vergleiche Beschreibung>
+
+Einstellung, ob beim Test, ob eine Sendung identisch ist, auch die
+Inhaltsbeschreibung verglichen werden soll. Dabei wird zunächst
+alles aus dem Inhalt entfernt, das einer Kategorienangabe
+gleicht. Der verbleibende Text wird dann verglichen. Ist dieser zu
+90% ähnlich (im Sinne des Levinshtein-Distance-Algorithmus) wird er
+als gleich behandelt.
+
+=item - B<Vergl. Kategorien>
+
+Über die Schaltfläche 'Einstellungen' kann angegeben werden welche
+Kategorien ebenfalls miteinander verglichen werden sollen.
+
+=item - B<Priorität, Lebensdauer, Zeitpuffer Anfang und Ende:>
+
+Jeder Suchtimer kann für diese Parameter eigene Einstellungen
+haben. Die Voreinstellung wird im Setup vorgenommen.
+
+=item - B<VPS:>
+
+aktiviert VPS, falls im VDR-Setup aktiv und für die gefundene
+Sendung auch VPS-Informationen vorhanden sind.
+
+=item - B<automatisch löschen:>
+
+zum automatischen Löschen eines Suchttimers bei folgenden Bedingungen:
+
+ * nach x Aufnahmen, oder
+ * nach x Tagen nach erster Aufnahme
+
+Gezählt werden dabei nur erfolgreiche Aufnahmen. Das Löschen erfolgt
+direkt nach dem Ende der entsprechenden Aufnahme.
+
+=back
+
+Um den Status 'Als Suchtimer verw.' zu ändern, ohne das Menü zu
+öffnen, kann die Taste '2' verwendet werden. Dies ruft direkt den
+2. Befehl im Befehlsmenü auf.
+
+=head3 1.2.2 Menü Suchergebnisse
+
+Dieses Menü zeigt die Suchergebnisse an. Ein 'T' sagt aus, dass es zu
+diesem Eintrag bereits einen Timer gibt, ein 't', dass es nur
+teilweise aufgenommen wird, also wie im Standard-Programm-Menü.
+
+=head2 1.3 Erweitertes 'Jetzt' and 'Nächste'
+
+Im Setup können bis zu 4 zusätzliche Zeiten, als Erweiterung zu 'Jetzt'
+und 'Nächste', angegeben werden um die Taste Grün zu erweitern.
+Z.B. 'nachmittags', 'abends', 'spätabends'. Zeiten, die bereits
+verstrichen sind, werden übersprungen, man erhält abends also kein
+'nachmittags'. Ausnahme: Ist ein Zeitpunkt nicht mehr als 20 Stunden in der
+Zukunft wird das Menü des nächsten Tages angezeigt.
+In diesen Menü kann die aktuell angezeigte Zeit durch Drücken auf
+FastRew und FastFwd verschoben werden um die Zeit nach hinter oder
+vorne zu verstellen. Falls diese Tasten auf der Fernbedienung nicht
+existieren, kann diese Funktion durch Umschalten mit '0' erreicht
+werden. Die Tasten Grün und Gelb wechseln dann zu '<<' und '>>'. Das
+Umschalten kann über das Setup angepasst werden.
+Man kann einen Fortschrittsbalken im Menü 'Jetzt'/'Nächste' anzeigen lassen.
+Falls text2skin verwendet wird, sollte die Option "text2skin" in den
+Setup-Optionen "Zeige Fortschrittsbalken in 'Jetzt'"/"Zeige Fortschrittsbalken
+in 'Nächste'" verwendet werden (Die Option 'graphisch' kann ebenfalls mit
+text2skin funktionieren, das ist aber abhängig vom gewählten skin)
+
+=head2 1.4 Menü Setup
+
+=head3 1.4.1 Allgemein
+
+=over 4
+
+=item - B<Hauptmenüeintrag verstecken:>
+
+Damit wird der Eintrag 'Suche' im Hauptmenü ausgeblendet. Achtung:
+wenn das Plugin der Taste Grün zugeordnet ist, dann bewirkt das
+Ausblenden, dass wieder das VDR-Standardmenü gerufen wird (um das zu
+vermeiden s. unten).
+
+=item - B<Hauptmenü-Eintrag>
+
+Falls nicht ausgeblendet, kann hier der Name des Hauptmenü-Eintrags
+hinterlegt werden. Vorgabe ist 'Programmführer'. Hinweis: Wenn man den
+Eintrag abweichend von der Vorgabe setzt, ist der Eintrag nicht mehr
+abhängig von der gewählten OSD-Sprache. Setzt man den Eintrag wieder auf den
+Default oder auf leer ist die Abhängigkeit wieder gegeben.
+
+=item - B<Startmenü:>
+
+Auswahl von 'Programm' oder 'Jetzt' als Startmenü.
+
+=back
+
+=head3 1.4.2 EPG Menüs
+
+=over 4
+
+=item - B<Taste Ok:>
+
+Hier kann das Verhalten der 'Ok'-Taste bestimmt werden. Man kann damit
+die Inhaltsangabe anzeigen oder zum entsprechenden Sender
+wechseln. Hinweis: Die Funktion der Taste 'Blau' (Umschalten/Info/Suche)
+hängt von dieser Einstellung ab.
+
+=item - B<Taste Rot:>
+
+Auswahl, ob man den Standard ('Aufnehmen') oder 'Befehle' als
+Vorbelegung möchte.
+
+=item - B<Taste Blau:>
+
+Auswahl, ob man den Standard ('Umschalten') oder 'Suche' als
+Vorbelegung möchte.
+
+=item - B<Zeige Fortschrittsbalken in 'Jetzt':>
+
+Im Menü 'Jetzt' kann ein Fortschrittsbalken angezeigt werden, der
+den Fortschritt der laufenden Sendung anzeigt. Falls text2skin verwendet
+wird, sollte die Option "pipes" verwendet werden (Die Option 'graphisch'
+kann ebenfalls mit text2skin funktionieren, das ist aber abhängig vom
+gewählten skin)
+
+=item - B<Zeige Kanalnummer:>
+
+auswählen, um eine führende Programmnummer vor jedem EPG-Eintrag
+anzuzeigen.
+
+=item - B<Zeige Kanal-Separatoren:>
+
+zur Anzeige einer Trennzeile zwischen Kanalgruppen im Menü
+'Übersicht - Jetzt' ...
+
+=item - B<Zeige Tages-Separatoren:>
+
+zur Anzeige einer Trennzeile zwischen Sendungen unterschiedlicher
+Tage im Menü 'Programm'.
+
+=item - B<Zeige Radiokanäle:>
+
+Zeigt auch Radiokanäle an.
+
+=item - B<Limit channels from 1 to:>
+
+Bei einer sehr großen Kanalliste läßt sich der Menü-Aufbau mit dieser
+Einstellung durch eine Einschränkung der angezeigten Kanäle beschleunigen. Mit
+'0' wird das Limit aufgehoben. Wenn der aktuelle Kanal über dem Limit liegt,
+wird das Limit ignoriert und wieder alle Kanäle angezeigt.
+
+=item - B<Timer mit 'Aufnehmen' sofort anlegen:>
+
+Falls 'Ja' wird ein Timer sofort erzeugt, sobald man 'Aufnehmen' drückt, wie
+in vdr-1.3.38 eingeführt, sonst wird das Timer-Edit-Menü angezeigt.
+
+=item - B<Zeige Kanäle ohne EPG:>
+
+zur Anzeige von Programmen ohne EPG, um auf diese umschalten zu
+können oder einen Timer zu programmieren
+
+=item - B<Timer mit 'Aufnehmen' sofort anlegen:>
+
+Falls 'Ja' wird nach Drücken von 'Aufnahme' sofort ein Timer angelegt, wie
+in vdr-1.3.38 eingeführt, falls 'Nein' erscheint das Timer-Edit-Menü.
+
+=item - B<Zeitintervall für FR/FF [min]:>
+
+In den Menüs 'Programm', 'Jetzt', 'Nächste', 'Benutzerdef. Zeit 1',
+... kann die angezeigte Zeit durch drücken von FastRew, FastFwd
+verschoben werden. Die Anzahl Minuten für den Sprung kann hier
+angepasst werden.
+
+=item - B<Grün/Gelb umschalten:>
+
+Falls die Tasten FastRew, FastFwd auf der Fernbedienung nicht
+vorhanden sind, dann auf 'ja' setzen. Wenn die Taste '0' gedrückt
+wird, werden somit auch die Tasten Grün/Gelb auf z.B. '<<' und '>>'
+umgeschaltet.
+
+=item - B<Zeige Favoriten-Menü:>
+
+Das Favoritenmenü kann dazu verwendet werden, eine Liste von bevorzugten
+Sendungen anzuzeigen, die innerhalb der nächsten 24 Stunden laufen. Je nach
+Einstellung erscheint dieses Menü vor oder nach den EPG-Menüs mit
+benutzerdef. Zeiten. Die Auswahl von Sendungen wird durch setzen der Option
+'In Favoriten-Menü verw.' innerhalb einer Suche geregelt.
+
+=item - B<für die nächsten ... Stunden:>
+
+Mit diesem Wert wird die Zeitspanne eingestellt, für die Favoriten angezeigt
+werden sollen.
+
+=back
+
+=head3 1.4.3 Benutzerdef. EPG-Zeiten
+
+=over 4
+
+=item - B<Benutzerdef. Zeit 1..4:>
+
+Bis zu 4 benutzerdefinierte Zeiten können zu 'Jetzt' und 'Nächste'
+hinzugefügt werden.
+
+=item - B<Beschreibung:>
+
+Name der benutzerdef. Zeit, z.B. 'Nachmittags', 'Abends',
+'Spätabends'.
+
+=item - B<Zeit:>
+
+zugehörige Uhrzeit.
+
+=back
+
+=head3 1.4.4 Timer-Programmierung
+
+=over 4
+
+=item - B<VDR's Time-Edit-Menü verw.>
+
+Beim normalen Programmieren eines Timers verwendet epgsearch ein
+erweitertes Timer-Edit-Menü, das einen Verzeichniseintrag,
+benutzerdefinierte Wochentage und die Vervollständigung um
+Untertitel anbietet. Falls man einen gepatchten VDR verwendet der
+ebenfalls ein erweitertes Timer-Edit-Menü anbietet und lieber dieses
+verwenden will, dann einfach diese Option auf 'Ja' setzen.
+
+=item - B<Standard Aufn. Verzeichnis:>
+
+Dieser Eintrag wird beim normalen Programmieren eines Timers
+verwendet. Man kann auch EPG-Variablen verwenden (z.B.. 'Meine
+Filme~%Category%~%Genre%'). Wird das Timer-Edit-Menü aufgerufen
+versucht epgsearch alle Variablen durch die Werte in der
+Beschreibung der Sendung zu ersetzen. Konnten nicht alle ersetzt
+werden, bleibt der Verzeichniseintrag leer.
+
+=item - B<Untertitel in manuellen Timern:>
+
+Beim manuellen Programmieren eines Timers kann epgsearch den
+Untertitel automatisch im Dateinamen ergänzen, wodurch die spätere
+Aufnahme in einem Unterverzeichnis für diese Episode gespeichert
+wird. Hier wählt man wie die Ergänzung gemacht werden
+soll. 'Intelligent' versucht zu prüfen, ob es Sinn macht und prüft
+dazu die Länge einer Sendung. Ist diese länger als 80min wird keine
+Untertitel ergänzt.
+
+=item - B<Standard-Timer-Prüfmethode:>
+
+Manuell angelegte Timer können auf Änderungen im EPG überprüft werden. Hier
+kann die Standardeinstellung für die Prüfmethode je Kanal hinterlegt
+werden. Folgende Prüfmethoden existieren:
+ * ohne Überwachung
+ * anhand Sendungskennung: geprüft wird anhand einer Kennung, die durch den
+ Sender vergeben wird. (Achtung: nicht jeder Sender liefert vernünftige
+ Kennungen!)
+ * anhand Sender/Uhrzeit: geprüft wird anhand der Sendung, die am besten zur
+ Dauer der ursprünglichen Sendung passt.
+
+Nicht alle Sender liefern eine vernünftige Sendungskennung. Deshalb kann hier
+die Standardeinstellung für jeden Kanal einzeln gesetzt werden. Bei der
+Programmierung eines manuellen Timers wird diese im Timer-Edit-Menü
+vorgegeben, falls das epgsearch-eigene Menü benutzt wird.
+
+=back
+
+=head3 1.4.5 Suche und Suchtimer
+
+=over 4
+
+=item - B<Verwende Suchtimer:>
+
+falls ja, untersucht das Plugin im Hintergrund die EPG-Daten und
+erzeugt Timer, falls passende Einträge gefunden werden. Dies
+betrifft nur Sucheinträge, die mit 'Als Suchtimer verwenden'
+markiert sind.
+
+=item - B<Aktualisierungsintervall:>
+
+Das Intervall in Minuten, in dem die Hintergrundsuche vorgenommen
+wird.
+
+=item - B<SVDRP Port:>
+
+Falls nicht der Standard-SVDRP-Port 2001 verwendet wird, dann bitte
+hier anpassen, damit die Suchtimer funktionieren.
+
+=item - B<Priorität, Lebensdauer und Zeitpuffer für Anfang und Ende:>
+
+Voreinstellungen
+
+=item - B<Keine Ankündigung bei Wiedergabe:>
+
+zum Unterdrücken von Sendungs-Ankündigungen während einer aktiven Wiedergabe.
+
+=item - B<Timer nach Löschen neuprogrammieren:>
+
+epgsearch merkt sich standardmäßig welche Timer bereits durch Suchtimer
+angelegt wurden und programmiert diese nicht erneut, wenn sie gelöscht
+wurden. Zum Abschalten dieses Verhaltens bitte 'Ja' wählen.
+
+=item - B<PayTV-Sender ignorieren:>
+
+Auf 'Ja' setzen, wenn man bei der Suche nach Wiederholungen keine Sendungen
+von PayTV-Sendern haben will.
+
+=item - B<Such-Vorlagen:>
+
+Hier können Suchvorlagen verwaltet werden, die beim Anlegen neuer Suchen
+verwendet werden können.
+
+=item - B<Ausschlusslisten:>
+
+Hier können Ausschlusslisten verwalten werden. Diese können innerhalb einer
+Suche verwendet werden um unerwünschte Sendungen zu vermeiden.
+
+=item - B<Kanalgruppen:>
+
+verwaltet die Kanalgruppen, die als Suchkriterium in einer Suche
+verwendet werden können. Die Verwaltung ist auch im Edit-Menü einer
+Suche möglich.
+
+=back
+
+B<Wichtig>: wenn der EPG aus einer externen Quelle bezogen wird, sollte dafür
+gesorgt werden, dass die Suchtimer-Updates während des EPG-Updates
+abgeschaltet sind. Der Grund dafür ist, dass epgsearch Timer löscht, denen
+keine Sendungen zugeordnet sind. Während der neue EPG an VDR übermittelt wird,
+kann diese Situation auftreten. Am einfachsten geht das mit dem SVDRP-Befehl
+SETS im EPG-Update-Skript:
+
+svdrpsend.pl plug epgsearch SETS off
+
+<das EPG update Skript>
+
+svdrpsend.pl plug epgsearch SETS on
+
+
+=head3 1.4.6 Timer-Konflikt-Prüfung
+
+=over 4
+
+=item - B<Ignoriere unter Priorität:>
+
+Falls ein Timer fehlschlagen wird, dessen Priorität unter dem angegebene
+Wert liegt, wird darauf nicht per OSD-Nachricht hingewiesen und der Konflikt
+wird als 'nicht relevant' in der Konflikt-Übersicht angezeigt.
+
+=item - B<Ignoriere Konfliktdauer unter ... Min.:>
+
+Falls ein Konflikt nicht länger als die angegebene Anzahl Minuten dauert,
+wird darauf nicht per OSD-Nachricht hingewiesen und der Konflikt wird als
+'nicht relevant' in der Konflikt-Übersicht angezeigt.
+
+=item - B<Prüfe nur die nächsten ... Tage:>
+
+Hier kann der Zeitraum der Prüfung angegeben werden.
+
+=item - B<Nach jeder Timer-Programmierung:>
+
+Das bewirkt eine Konfliktprüfung nach jeder manuellen Timer-Programmierung
+und erzeugt eine OSD-Nachricht, falls der neue/geänderte Timer in einen
+Konflikt verwickelt ist.
+
+=item - B<Beim Beginn einer Aufnahme:>
+
+Hier auf 'Ja' setzen, wenn die Konfliktprüfung beim Beginn jeder Aufnahme erfolgen soll.
+Im Falle eines Konflikts wird dann sofort eine Nachricht angezeigt. Diese erscheint nur,
+wenn der Konflikt innerhalb der nächsten 2 Stunden auftritt.
+
+=item - B<Nach jedem Suchtimer-Update:>
+
+Hier kann eingestellt werden, ob eine Konfliktprüfung nach jedem
+Suchtimer-Update erfolgen soll. Falls nicht:
+
+=item - B<nach ... Minuten:>
+
+gibt an nach wievielen Minuten im Hintergrund eine automatische
+Konfliktprüfung erfolgen soll. Bei relevanten Konflikten erfolgt eine
+Nachricht per OSD. Mit '0' wird diese Funktion deaktiviert.
+
+=item - B<Wenn nächster Konflikt in ... Minuten:>
+
+Wenn nächster Konflikt in ... Minuten eintritt, verwende folgendes
+Prüfintervall.
+
+=over 4
+
+=item - B<alle ... Minuten:>
+
+um einen Konflikt in Kürze nicht zu übersehen, kann hier ein kürzeres
+Prüfintervall eingestellt werden.
+
+=back
+
+=item - B<Vermeide Nachricht bei Wiedergabe:>
+
+Bitte auf 'Ja' setzen, wenn während einer Wiedergabe keine OSD-Benachrichtigungen
+über Timer-Konflikte gewünscht sind. Die Benachrichtigung erfolgt trotzdem,
+wenn der nächste Konflikt innerhalb der nächsten 2 Stunden auftritt.
+
+=back
+
+Bitte ebenfalls den Abschnitt 'Working with the timer conflict menu' im MANUAL
+berücksichtigen.
+
+=head3 1.4.7 Email-Benachrichtigungen
+
+(Bitte sicherstellen, dass 'sendEmail.pl' im Pfad der ausführbaren Dateien
+liegt und 'epgsearchupdmail.templ' und 'epgsearchconflmail.templ' im
+Konfig-Verzeichnis von epgsearch existieren!)
+
+=over 4
+
+=item - B<Suchtimer-Benachrichtigung:>
+
+Diese Option aktivieren, wenn man eine Email-Benachrichtigung wünscht, sobald
+der Suchtimer-Hintergrund-Thread
+
+ - neue Timer angelegt hat
+ - vorhandene Timer geändert hat
+ - Timer gelöscht hat, weil diese wegen EPG-Änderungen oder anderen
+ Benutzeraktionen nicht mehr gültig sind.
+
+(Dazu muss ebenfalls die Option 'Verwende Suchtimer' im Suchtimer-Setup aktiv sein.)
+
+=item - B<Timer-Konflikt-Benachrichtigung:>
+
+Diese Option aktivieren, wenn man eine Email-Benachrichtigung bei
+Timer-Konflikten wünscht. Es werden nur Konflikte gemeldet, die laut
+Setup-Einstellungen 'relevant' sind. Neue Benachrichtigungen werden nur
+versandt, sobald sich etwas bei den Konflikten verändert.
+
+(Dazu muss ebenfalls die Option 'Nach jedem Suchtimer-Update' oder 'nach
+... Minuten' im Timer-Konflikt-Setup aktiv sein.)
+
+=item - B<Email-Adresse:>
+
+Hier bitte die volle (!) Email-Adresse hinterlegen, an die die Nachrichten
+verschickt werden sollen. Hinweis: Einigen Provider (z.B. Arcor) erlauben nicht
+die gleiche Adresse für Sender und Empfänger.
+
+=item - B<Mail-Methode:>
+
+Zur Auswahl stehen
+
+ - sendEmail.pl: ein einfaches Skript, das auch auf Systemen ohne
+ konfigurierten Mailserver den Versand von Emails erlaubt. Das Skript wird
+ mit epgsearch ausgeliefert und sollte im $PATH liegen.
+ - sendmail: setzt ein korrekt aufgesetzes Mailsystem voraus.
+
+=item - B<Email-Adresse:>
+
+Hier bitte die volle (!) Email-Adresse hinterlegen, von der die Nachricht versandt
+werden soll.
+
+=item - B<SMTP Server:>
+
+Der Name des SMTP Servers, über den der Mailversand erfolgt.
+
+=item - B<Verw. SMTP-Authentifizierung:>
+
+'Ja' wählen wenn das Emailkonto eine SMTP-Authentifizierung für den
+Emailversand benötigt.
+
+=item - B<AUTH-Benutzer:>
+
+Hier bitte den Benutzernamen angeben, falls das Email-Konto mit
+Authentifizierung arbeitet.
+
+=item - B<AUTH-Passwort:>
+
+Hier bitte das Passwort angeben, falls das Email-Konto mit
+Authentifizierung arbeitet.
+Achtung: Das Passwort wird im Klartext gespeichert. Man muss selber dafür
+sorgen, dass das System sicher ist und nicht authorisierten Personen kein
+Zugriff auf VDR-Konfigurations-Dateien möglich ist.
+
+=back
+
+Nach Angabe der Email-Konto-Daten bitte mit 'Test' prüfen, ob alles
+funktioniert. Wenn mit 'sendEmail.pl' gearbeitet wird, sollte am Ende der
+Test-Ausgabe etwas wie 'Email sent successfully' auftauchen. Die Testfunktion
+gibt es bei der Methode 'sendmail' leider nicht.
+
+Bitte ebenfalls den Abschnitt 'Email notifications' im Manual berücksichtigen.
+
+=head1 2. Suchtimer
+
+Das ist ziemlich das gleiche wie VDRAdmin's Autotimer, benötigt jedoch
+kein externes Programm. Beim Anlegen einer Suche kann man die Option
+setzen, ob diese als Suchtimer verwendet werden soll. Das Plugin sucht
+nun im Hintergrund in bestimmten Zeitabständen (->Setup->Update
+Intervall [min]) nach passenden Sendungen und erzeugt Timer für die
+Ergebnisse. Gerade für Serien ist dies sehr praktisch, weshalb es in
+der Suche die Option "Serienaufnahme" gibt. In diesem Fall wird ein
+Timer mit zusätzlichem Episodennamen angelegt. Die Aufnahme erscheint
+dann in einem Ordner mit dem Seriennamem. Falls es keinen Episodennamen gibt
+wird stattdessen automatisch Datum und Uhrzeit verwendet.
+
+Die Suchtimer-Funktion muss ausserdem im Setup aktiviert werden.
+Falls für SVDRP nicht der Standardport 2001 verwendet wird, bitte
+ebenfalls im Setup eintragen.
+
+Falls man eine Hintergrund-Suche manuell anstoßen will, genügt ein
+
+touch /etc/vdr/plugins/epgsearch/.epgsearchupdate
+
+Das kann ebenfalls Teil des shutdown-Skripts sein (hier sollte man
+dann noch einen sleep von ein paar Sekunden anhängen, damit das Plugin
+Zeit hat, den Scan zu beenden).
+
+Mehr Infos zu Suchtimern gibts im MANUAL unter 'Description of the
+search process' und 'How do Search Timers work?'.
+
+=head1 2.1 'Wiederholungen vermeiden' - Im Detail
+
+Hier soll erklärt werden wie die Option 'Wiederholungen vermeiden'
+eines Suchtimers funktioniert.
+
+Nicht immer lässt sich durch entsprechende Suchkriterien vermeiden,
+dass auch Timer für Wiederholungen erzeugt werden.
+
+Um das zu verhindern, versucht das Feature 'Wiederholungen vermeiden'
+vor dem Programmieren einer Sendung zu prüfen, ob eine gleiche Sendung
+schon mal aufgenommen wurde oder ein Timer existiert, der die gleiche
+(nicht dieselbe!) Sendung aufzeichnet. Ist dies der Fall, wird kein
+Timer für die zu überprüfende Sendung erzeugt.
+
+=head2 2.2 Wie funktioniert der Vergleichstest zwischen 2 Sendungen?
+
+Für den Test auf Gleichheit zwischen 2 Sendungen gibt es viele
+Einstellmöglichkeiten beim Suchtimer. Man kann wählen, ob Titel,
+Untertitel, Beschreibung und bestimmte Kategorien innerhalb der
+Beschreibung einer Sendung mit den jeweiligen Angaben einer anderen
+Sendung verglichen werden sollen.
+
+Der Vergleich der einzelnen Angaben selbst prüft immer auf
+vollständige Identität. Die Beschreibung einer Sendung bildet hier
+aber eine Ausnahme. Hier wird zunächst alles aus dem Text entfernt,
+das einer Kategorie-Angabe gleicht, z.B. 'Bewertung: Tagestipp'. Als
+Kategorie-Angabe wird alles gewertet, was am Anfang einer Zeile
+maximal 40 Zeichen hat, von einem ':' gefolgt wird und dann maximal
+weitere 60 Zeichen hat. Hintergrund für dieses Rausschneiden sind die
+oft vorhandenen Bewertungen wie 'Tagestipp', die bei der Wiederholung
+aber nicht mehr enthalten sind.
+
+Der verbleibende Text wird nun zunächst in der Länge verglichen. Ist
+der Unterschied größer als 90% wird die Beschreibung als
+unterschiedlich gewertet. Andernfalls wird über den
+Levinsthein-Distance-Algorithmus (LD), der einen Fuzzy-Textvergleich
+macht, ein Test vorgenommen. Hier wird die Beschreibung als gleich
+akzeptiert, wenn LD mehr als 90% Identität zurückgibt.
+
+Da dieser Algorithmus ziemlich laufzeitintensiv ist (O(mn)), sollte
+nach Möglichkeit nicht nur 'Vergleiche Beschreibung' als einziges
+Vergleichskriterium ausgewählt werden, sondern am besten immer nur in
+Kombination mit anderen Vergleichen.
+
+=head2 2.3 Wie und wo wird der Vergleichstest eingesetzt?
+
+Wie zuvor erwähnt wird bei einem Suchtimer-Update für Suchtimer mit
+diesem Feature zusätzlich geprüft, ob eine Sendung bereits irgendwann
+schon aufgezeichnet wurde, oder in der Timerliste ein Timer steht, der
+die gleiche Sendung aufzeichnen würde. Letzteres sollte klar sein,
+während für ersteres das File epgsearchdone.data ins Spiel kommt.
+
+Nach jeder Aufnahme, die durch einen Suchtimer mit 'Wiederholung vermeiden'
+erzeugt wurde, werden alle Angaben zu dieser Sendung im genannten File
+gespeichert. Über das Aktionenmenü im Menü 'Suche' kann man sich alle
+Sendungen, die ein solcher Timer bisher aufgenommen hat, anzeigen
+lassen und diese auch bearbeiten. In dieses File werden nur Aufnahmen
+aufgenommen, die bezüglich der Timerangaben korrekt begonnen und auch
+beendet wurden. D.h. dass teilweise unvollständige Aufnahmen nicht
+registriert werden und somit beim nächsten Suchtimer-Update
+automatisch ein neuer Timer für diese Sendung erzeugt wird, falls
+gefunden.
+
+B<Wie verwenden?>
+
+Man sieht, dass das ganze Feature stark von der Qualität und dem
+Umfang des verwendeten EPGs abhängt. Hat man einen entsprechenden
+Suchtimer angelegt, ist es sinnvoll erstmal zu prüfen, ob er auch das
+richtige macht. Dazu gibt es für solche Timer im Suchergebnis-Menü auf
+der Taste 'Blau' die zusätzliche Belegung 'Timer-Vorschau'. Sendungen,
+die noch keinen Timer haben ('T'), aber für die einer aufgrund des
+Features beim nächsten Suchtimer-Update programmiert würde, haben dort
+ein 'P' stehen.
+
+Hinweis: Möchte man wegen Konflikten einen bereits programmierten
+Timer nicht verwenden, dann sollte dieser im Timermenü deaktiviert
+werden. Beim nächsten Suchtimer-Update wird dann einfach die nächste
+mögliche Wiederholung programmiert, falls vorhanden.
+
+B<Wenn es nicht richtig funktioniert :-)>
+
+Damit das Programmieren oder Nicht-Programmieren von Timern gerade bei
+Verwendung dieses Features besser nachvollziehbar ist, wurde ein
+Logfile für epgsearch eingeführt. Startet man epgsearch mit einem
+Loglevel >= 2 (-P'epgsearch -v 2) werden beim Suchtimer-Update
+in der Datei epgsearch.log hilfreiche Infos abgelegt. Siehe MANUAL für
+'command line options'.
+
+=head1 3. Verwendung der Suche durch andere Plugins oder Skripte
+
+Siehe C<epgsearch(4)>.
+
+=head1 4. Verwendung erweiterter EPG Infos
+
+Einige EPG Provider liefern zusätzliche EPG Infos wie die Art der
+Sendung, das Video und Audio Format, die Besetzung,...
+Mit tvmovie2vdr oder epg4vdr können diese Daten in den VDR importiert
+werden.
+
+Somit kann man also z.B. einfach einen Suchtimer erzeugen, der alle
+Tagestipps findet, die in 16:9 ausgestrahlt werden.
+Um diese Informationen in Suchtimern zu verwenden, muss anhand der
+Datei epgsearchcats.conf im epgsearch-Konfig-Verzeichnis eine
+Konfiguration vorgenommen werden.
+
+Das Format dieser Datei ist folgendes:
+
+ ID|category name|name in menu|values separated by ','(option)|searchmode(option)
+
+ - 'ID' sollte eine eindeutige ganze Zahl sein
+ Achtung: Ändert man später aus irgendeinem Grund diese ID müssen
+ die Suchtimer neu editiert werden!
+ - 'category name' ist der Name der Info lt. EPG Provider, z.B. 'Genre'
+ - 'name in menu' ist der Name im Menü von epgsearch.
+ - 'values' ist eine optionale Liste von Werten für diese Info.
+ - 'searchmode' gibt optional an, wie gesucht werden soll:
+ Textvergleich:
+ 0 - Der gesamte Begriff muss als Substring erscheinen
+ 1 - Die einzelnen Worte (getrennt durch ',', ';', '|' oder
+ '~') müssen alle als Substring auftauchen. Diese Einstellung ist
+ der Standardwert.
+ 2 - mindestens ein Wort (getrennt durch ',', ';', '|' oder
+ '~') muss als Substring auftauchen
+ 3 - exakte Übereinstimmung
+ 4 - als regulärer Ausdruck
+ Numerischer Vergleich:
+ 10 - kleiner
+ 11 - kleiner oder gleich
+ 12 - größer
+ 13 - größer oder gleich
+ 14 - gleich
+ 15 - ungleich
+
+Beispiel-Dateien für epgsearchcats.conf kommen mit dem
+Plugin im Verzeichnis 'conf'. Einfach die passende ins
+epgsearch-Konfig-Verzeichnis als epgsearchcats.conf kopieren, VDR neu starten und
+dann das Eingabe-Menü eines Suchtimers aufrufen.
+
+Weil das Aufsetzen einer neuen epgsearchcats.conf ziemlich lästig ist,
+habe ich ein kleines Tool 'createcats' mitgeliefert, das den Großteil
+der Arbeit erledigt. Es sollte mit dem Plugin übersetzt worden sein
+und sich im Quellverzeichnis befinden. Einfach folgendermaßen aufrufen:
+
+createcats /pfad_zu/epg.data
+
+Dieses Tool scannt nun die vorhandenen EPG infos und versucht daraus
+die erweiterten Infos zu extrahieren. Das Ergebnis ist eine neue
+epgsearchcats.conf, die aber noch editiert werden muss, weil sicher
+nicht alles genau passt. Danach ins epgsearch-Konfig-Verzeichnis kopieren.
+(Mehr über createcats im Manual 'Using createcats')
+
+Details: epgsearch durchsucht die Zusammenfassung einer Sendung nach
+dem Namen einer Kategorie gefolgt von ': '. Das geschieht für alle
+Kategorien, für die im Suchtimer ein Wert gesetzt wurde. Die Suche
+berücksichtigt die Groß/Kleinschreibung sowohl bezüglich des
+Kategorie-Namens als auch des Wertes.
+
+=head1 5. Ersetzen des Standardmenü
+
+Um das Plugin als Ersatz für VDR's Standard-Menü zu verwenden, genügt
+es die Zeile
+
+ Green @epgsearch
+
+in die Datei keymacros.conf zu setzen. Falls kein weiterer Menüeintrag
+im Hauptmenü erscheinen soll, dann den Eintrag des Plugins zunächst im
+Setup ausblenden. Um das Plugin trotzdem mit der Taste "Grün" aufrufen
+zu können, könnte man z.B. mein launcher-Plugin verwenden und
+die Zeile
+
+ Green @launcher x
+
+in die keymacros.conf schreiben, wobei x die Position von epgsearch
+innerhalb des launcher listings ist.
+
+Achtung: Versteckt man das Plugin ohne die Verwendung des launcher
+plugins oder anderer Patches, die das Aufrufen versteckter Plugins
+erlauben, erhält man das VDR-Standard-Menü beim Drücken von Grün. Ab
+VDR 1.3.32 sind dazu keine Patches oder Plugins mehr notwendig.
+
+Ein weiterer Ansatz ist ein Patch gegen VDR, der das Standardmenü
+'Programm' gegen epgsearch austauscht.
+Hierzu VDR mit dem Patch vdr-replace-schedulemenu.diff.gz aus dem
+Patches-Verzeichnis patchen. Danke an den Autor Uwe/egal@vdrportal.
+Bei Anwendung dieses Patches sollte der Eintrag
+
+ Green Schedule
+
+heißen. Dieser Patch ist bereits in manchen Patchsammlungen,
+z.B. Bigpatch, enthalten.
+
+=head1 6. Addons
+
+Mit epgsearch werden 2 weitere 'Mini'-Plugins ausgeliefert. Beide Plugins
+erfordern, dass epgsearch ebenfalls installiert ist (epgsearch kann aber aus
+dem Hauptmenü ausgeblendet werden):
+
+=over 4
+
+=item - B<epgsearchonly:>
+
+Wer nur die Suchfunktionen und/oder die Suchtimer von
+epgsearch verwenden möchte oder einfach einen eigenen Hauptmenüeintrag für die
+Suche wünscht, kann dies mit diesem Plugin erreichen. Es wird damit ein
+Hauptmenüeintrag "Suche" erzeugt, der einen direkt in das Suchenmenü führt.
+Aktivierung im VDR-Startskript mit "-Pepgsearchonly".
+
+=item - B<conflictcheckonly:>
+
+Die Timer-Konfliktprüfung kann ebenfalls als eigener
+Hauptmenüeintrag angelegt werden. Über eine Setup-Option läßt sich auch
+das Ergebniss der letzten Konfliktprüfung direkt im Hauptmenü anzeigen.
+Aktivierung im VDR-Startskript mit "-Pconflictcheckonly".
+
+=back
+
+Viel Spass!
+
+Christian Wieninger
+
+=head1 Ausführliche Beschreibung
+
+Die ausführliche Beschreibung der internen Funktionen des Plugins findest
+Du in der Datei MANUAL, die dem Plugin beigelegt sein sollten.
+
+Ob Du diese auf deinem System hast verrät dir
+
+C<locate epgsearch*/MANUAL>
+
+Sollte Deine Distribution diese Dateien nicht enthalten, kannst Du sie
+dir online durchlesen
+
+L<http://winni.vdr-developer.org/epgsearch/README.DE>
+
+L<http://winni.vdr-developer.org/epgsearch/README>
+
+L<http://winni.vdr-developer.org/epgsearch/MANUAL>
+
+=head1 SIEHE AUCH
+
+C<epgsearch.conf(5)>, C<epgsearchcats.conf(5)>, C<epgsearchcmds.conf(5)>, C<epgsearchdirs.conf(5)>, C<epgsearchmenu.conf(5)>, C<epgsearchuservars.conf(5)>, C<epgsearchdone.data(5)>, C<epgsearchswitchtimer.conf(5)>, C<epgsearchblacklists.conf(5)>, C<epgsearchchangrps.conf(5)>
+
+=head1 DATEIEN
+
+F<epgsearch.conf>
+
+Enthält die Suchtimer. Siehe C<epgsearch.conf(5)>.
+
+F<epgsearchcats.conf>
+
+Enthält die Kategorien des erweiterten EPG. Siehe C<epgsearchcats.conf(5)>.
+
+F<epgsearchcmds.conf>
+
+Enthält Befehle ähnlich der commands.conf, die auf EPG-Einträge angewandt werden können. Siehe C<epgsearchcmds.conf(5)>.
+
+F<epgsearchdirs.conf>
+
+Enthält Pfade die beim Bearbeiten eines Suchtimers ausgewählt werden können. Siehe C<epgsearchdirs.conf(5)>.
+
+F<epgsearchmenu.conf>
+
+Enthält die vom User gewählte Konfiguration der OSD Menüdarstellung. Siehe C<epgsearchmenu.conf(5)>.
+
+F<epgsearchuservars.conf>
+
+Enthält die User-Variablen. Siehe C<epgsearchuservars.conf(5)>.
+
+F<epgsearchdone.data>
+
+Enthält die done-Liste. Siehe C<epgsearchdone.data(5)>.
+
+F<epgsearchswitchtimers.conf>
+
+Enthält die Umschalttimer. Siehe C<epgsearchswitchtimer.conf(5)>.
+
+F<epgsearchblacklists.conf>
+
+Enthält die Ausschlussliste. Siehe C<epgsearchblacklists.conf(5)>.
+
+F<epgsearchchangrps.conf>
+
+Enthält die Kanalgruppen. Siehe C<epgsearchchangrps.conf(5)>.
+
+F<epgsearchtemplates.conf>
+
+Enthält die Vorlagen für Suchtimer. Siehe C<epgsearchtemplates.conf(5)>.
+
+=head1 AUTOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 FEHLER MELDEN
+
+Fehlerberichte bitte im Bugtracker.
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailinglist:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LIZENZ
+
+Copyright © 2004-2007 Christian Wieninger
+
+Dieses Programm ist freie Software. Sie können es unter den Bedingungen
+der GNU General Public License, wie von der Free Software Foundation
+veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 2
+der Lizenz oder (nach Ihrer Option) jeder späteren Version.
+
+Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es
+Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die
+implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN
+ZWECK. Details finden Sie in der GNU General Public License.
+
+Sie sollten ein Exemplar der GNU General Public License zusammen mit
+diesem Programm erhalten haben. Falls nicht, schreiben Sie an die
+Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+Oder rufen Sie in Ihrem Browser http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+auf.
+
+Der Author kann über cwieninger@gmx.de erreicht werden.
+
+Die Projektseite ist http://winni.vdr-developer.org/epgsearch
+
+Der MD5-Code ist abgeleitet aus dem Message-Digest Algorithm
+von RSA Data Security, Inc..
+
+
+
+
+
diff --git a/doc-src/de/epgsearch.conf.5.txt b/doc-src/de/epgsearch.conf.5.txt
new file mode 100644
index 0000000..daae063
--- /dev/null
+++ b/doc-src/de/epgsearch.conf.5.txt
@@ -0,0 +1,142 @@
+=head1 NAME
+
+F<epgsearch.conf> - Die gespeicherten Suchtimer
+
+=head1 BESCHREIBUNG
+
+Die in epgsearch angelegten Suchtimer werden in dieser Datei gespeichert.
+
+Sie sollte nicht manuell editiert werden. Verwende stattdessen lieber SVDRP.
+
+=head1 FORMAT
+
+Aufgrund von möglichen Formatänderungen enthält die Datei eine Versionsangabe.
+Die Format-Version befindet sich in der ersten Zeile der Datei.
+
+Der allgemeine Feldtrenner ist C<':'>.
+
+Folgende Felder sind möglich:
+
+ 1 - Einmalige Suchtimer ID
+ 2 - Suchstring
+ 3 - Verwende Zeit? 0/1
+ 4 - Startzeit in HHMM
+ 5 - Stopzeit in HHMM
+ 6 - Verwende Kanal? 0 = nein, 1 = Intervall, 2 = Kanalgruppe, 3 = nur FTA
+ 7 - Wenn 'verwende Kanal' = 1 dann ist Kanal ID[|Kanal ID] im VDR Format,
+ Einträge oder min/max Einträge getrennt durch |, wenn 'Verwende Kanal' = 2
+ dann der Kanalgruppenname
+ 8 - Beachte Gross-/Kleinschreibung? 0/1
+ 9 - Suchmodus:
+ 0 - Der gesamte Suchbegriff muss genau so enthalten sein
+ 1 - Alle Suchbegriffe (Trenner sind Leerzeichen,',', ';', '|' oder '~')
+ müssen enthalten sein.
+ 2 - Mindestens ein Suchbegriff muss enthalten sein (Trenner sind
+ Leerzeichen, ',', ';', '|' oder '~').
+ 3 - Der Suchbegriff muss genau zutreffen
+ 4 - Regulärer Ausdruck
+ 10 - Suche in Titel? 0/1
+ 11 - Suche in Untertitel? 0/1
+ 12 - Suche in Beschreibung? 0/1
+ 13 - Verwende Länge? 0/1
+ 14 - Minimale Länge der Sendung in Minuten
+ 15 - Maximale Länge der Sendung in Minuten
+ 16 - Verwende als Suchtimer? 0/1
+ 17 - Verwende Tag der Woche? 0/1
+ 18 - Tag der Woche (0 = Sonntag, 1 = Montag...;
+ -1 Sonntag, -2 Montag, -4 Dienstag, ...; -7 So, Mo, Di)
+ 19 - Verwende als Serienaufnahme? 0/1
+ 20 - Verzeichnis für Aufnahme
+ 21 - Priorität der Aufnahme
+ 22 - Lebensdauer der Aufnahme
+ 23 - Zeitpuffer am Anfang in Minuten
+ 24 - Zeitpuffer am Ende in Minuten
+ 25 - Verwende VPS? 0/1
+ 26 - Aktion:
+ 0 = Lege Timer an
+ 1 = Benachrichtige nur per OSD (kein Timer)
+ 2 = Schalte nur um (kein Timer)
+ 27 - Verwende erweitertes EPG? 0/1
+ 28 - Felder des erweiterten EPGs. Dieser Eintrag hat folgendes Format
+ (Trenner ist '|' für jede Kategorie, '#' trennt ID vom Wert):
+ 1 - Die ID der Kategorie des erweiterten EPGs, festgelegt in
+ F<epgsearchcats.conf>, s. C<epgsearchcats.conf(5)>
+ 2 - Wert des erweiterten EPGs für diese Kategorie
+ (Ein ':' wird übersetzt in "!^colon^!", z.B. "16:9" -> "16!^colon^!9")
+ 29 - vermeide Wiederholungen? 0/1
+ 30 - erlaubte Anzahl Wiederholungen
+ 31 - Vergleiche Titel bei Prüfung auf Wiederholung? 0/1
+ 32 - Vergleiche Untertitel bei Prüfung auf Wiederholung? 0/1
+ 33 - Vergleiche Beschreibung bei Prüfung auf Wiederholung? 0/1
+ 34 - Vergleiche erweitertes EPG bei Prüfung auf Wiederholung?
+ Dieser Eintrag ist ein Bitfeld von Kategorie IDs.
+ 35 - Erlaube Wiederholungen nur innerhalb x Tagen
+ 36 - Lösche eine Aufnahme automatisch nach x Tagen
+ 37 - Aber behalte mindestens x Aufnahmen
+ 38 - Schalte x Minuten vor der Sendung um, wenn Aktion = 2
+ 39 - Pausiere das Anlegene von Timern wenn x Aufnahmen vorhanden sind
+ 40 - Modus der Ausschlussliste: 0 = Aus, 1 = Wähle aus, 2 = Alle
+ 41 - Verwende diese Ausschluss-Suchtimer, IDs getrennt durch '|'
+ 42 - Fuzzy Toleranz für Suche
+ 43 - Verwende diese Suche im Favoriten Menü, 0 = Nein, 1 = Ja
+ 44 - ID einer Menüvorlage für das Suchergebnis
+
+Folgende Zeichen werden bei der Speicherung übersetzt:
+
+ : => |
+ | => !^pipe^!
+
+Es müssen nicht alle Felder belegt sein. Gefordert sind lediglich die ersten
+11.
+
+=head1 BEISPIELE
+
+ #version 2 - DONT TOUCH THIS!
+ 1:Kommissar Beck:0:::2:ÖffRecht:0:0:1:0:0:0:::1:0:0:1:%Category%~%Genre%:50:99:10:60:0:0:0::1:0:1:1:0:0:0:0:0
+ 2:* Sägebrecht:0:::2:Hauptsender:0:0:0:0:0:0:::0:0:0:0:%Category%~%Genre%:50:99:10:10:0:0:1:1#|2#|3#|4#|5#|6#Marianne Sägebrecht|7#|8#|9#|10#|11#|12#|13#:1:0:1:0:0:0:0:0:0
+
+=head1 SIEHE AUCH
+
+C<epgsearch(1)>
+
+=head1 AUTOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 FEHLER MELDEN
+
+Fehlerberichte bitte im Bugtracker.
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailinglist:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LIZENZ
+
+Copyright © 2004-2007 Christian Wieninger
+
+Dieses Programm ist freie Software. Sie können es unter den Bedingungen
+der GNU General Public License, wie von der Free Software Foundation
+veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 2
+der Lizenz oder (nach Ihrer Option) jeder späteren Version.
+
+Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es
+Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die
+implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN
+ZWECK. Details finden Sie in der GNU General Public License.
+
+Sie sollten ein Exemplar der GNU General Public License zusammen mit
+diesem Programm erhalten haben. Falls nicht, schreiben Sie an die
+Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+Oder rufen Sie in Ihrem Browser http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+auf.
+
+Der Author kann über cwieninger@gmx.de erreicht werden.
+
+Die Projektseite ist http://winni.vdr-developer.org/epgsearch
+
+Der MD5-Code ist abgeleitet aus dem Message-Digest Algorithm
+von RSA Data Security, Inc..
+
diff --git a/doc-src/de/epgsearchblacklists.conf.5.txt b/doc-src/de/epgsearchblacklists.conf.5.txt
new file mode 100644
index 0000000..ea3784d
--- /dev/null
+++ b/doc-src/de/epgsearchblacklists.conf.5.txt
@@ -0,0 +1,72 @@
+=head1 NAME
+
+F<epgsearchblacklists.conf> - Die gespeicherten Auschlusslisten-Suchtimer
+
+=head1 BESCHREIBUNG
+
+In epgsearch können Ausschlusslisten (Blacklists) angelegt werden.
+
+Dies sind im Grunde normale Suchtimer die in der Datei
+F<epgsearchblacklists.conf> gespeichert werden. Zu jedem Suchtimer kann
+man dann einen oder mehrere Einträge aus der Ausschlussliste auswählen.
+
+=head2 Funktion
+
+Suchtimer "Krimi" verwendet Ausschlusssuchtimer "Tatort"
+
+Ausschlusssuchtimer "Tatort" sucht "Tatort"
+
+Es werden alle Krimis gesucht und anschliessend wird nachgesehen ob ein
+Ergebnisse auf den Ausschlusssuchtimer zutrifft. Dieses wird dann verworfen.
+
+=head1 FORMAT
+
+Diese Datei hat dasselbe Format wie die Datei F<epgsearch.conf>. Für den
+Aufbau verweise ich auf C<epgsearch.conf(5)>.
+
+=head1 SIEHE AUCH
+
+C<epgsearch(1)>
+
+=head1 AUTOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 FEHLER MELDEN
+
+Fehlerberichte bitte im Bugtracker.
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailinglist:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LIZENZ
+
+Copyright © 2004-2007 Christian Wieninger
+
+Dieses Programm ist freie Software. Sie können es unter den Bedingungen
+der GNU General Public License, wie von der Free Software Foundation
+veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 2
+der Lizenz oder (nach Ihrer Option) jeder späteren Version.
+
+Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es
+Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die
+implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN
+ZWECK. Details finden Sie in der GNU General Public License.
+
+Sie sollten ein Exemplar der GNU General Public License zusammen mit
+diesem Programm erhalten haben. Falls nicht, schreiben Sie an die
+Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+Oder rufen Sie in Ihrem Browser http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+auf.
+
+Der Author kann über cwieninger@gmx.de erreicht werden.
+
+Die Projektseite ist http://winni.vdr-developer.org/epgsearch
+
+Der MD5-Code ist abgeleitet aus dem Message-Digest Algorithm
+von RSA Data Security, Inc..
+
+
diff --git a/doc-src/de/epgsearchcats.conf.5.txt b/doc-src/de/epgsearchcats.conf.5.txt
new file mode 100644
index 0000000..d682254
--- /dev/null
+++ b/doc-src/de/epgsearchcats.conf.5.txt
@@ -0,0 +1,140 @@
+=head1 NAME
+
+F<epgsearchcats.conf> - Die Kategorien des erweiterten EPGs, sofern vorhanden.
+
+=head1 BESCHREIBUNG
+
+Wenn man das EPG aus dem Internet bezieht, z.B. von Hörzu, enthält das EPG
+erweiterte Daten. Zusätzlich zum Titel, Untertitel un der Beschreibung findet
+man dann eine Liste der Darsteller, Jahr des Drehs, Episode der Serie, Kategorie
+und Genre des Film, etc.
+
+Damit epgsearch diese verwenden kann müssen die Felder des erweiterten EPGs
+Variablen zugeordnet werden.
+
+Einige Beispieldateien werden dem Plugin mitgeliefert und finden sich im
+Verzeichnis "conf".
+
+Um eine eigene F<epgsearchcats.conf> zu erstellen dient das mitgelieferte Tool
+F<createcats>.
+
+Es scannt das vorhandene EPG und erstellt eine F<epgsearchcats.conf>. Diese
+sollte an die eigenen Wünscche angepasst werden, eine Formatbeschreibung
+findet sich im Kopf der Datei.
+
+=head1 FORMAT
+
+Auszug aus einer F<epgsearchcats.conf>:
+
+--------------------------------------------------------------------
+
+ This is just a template based on your current epg.data. Please edit!
+ Perhaps a category or its value list should be removed. Also the
+ 'name in menu' should be adjusted to your language.
+ The order of items determines the order listed in epgsearch. It does not
+ depend on the ID, which is used by epgsearch.
+ Format:
+ ID|category name|name in menu|values separated by ',' (option)|searchmode
+ - 'ID' should be a unique positive integer
+ (changing the id later on will force you to reedit your search timers!)
+ - 'category name' is the name in your epg.data
+ - 'name in menu' is the name displayed in epgsearch.
+ - 'values' is an optional list of possible values
+ if you omit the list, the entry turns to an edit field in epgsearch,
+ else it's an list of items to select from
+ - 'searchmode' is an optional parameter specifying the mode of search:
+ text comparison:
+ 0 - the whole term must appear as substring
+ 1 - all single terms (delimiters are ',', ';', '|' or '~')
+ must exist as substrings. This is the default search mode.
+ 2 - at least one term (delimiters are ',', ';', '|' or '~')
+ must exist as substring.
+ 3 - matches exactly
+ 4 - regular expression
+ numerical comparison:
+ 10 - less
+ 11 - less or equal
+ 12 - greater
+ 13 - greater or equal
+ 14 - equal
+ 15 - not equal
+
+--------------------------------------------------------------------
+
+=head1 BEISPIELE
+
+(Die Zeilen sind gekürzt, daher unvollständig)
+
+Beispiel für EPG von Hörzu, bezogen von epgdata.com mit tvmovie2vdr.
+
+ 1|Category|Kategorie|Information,Kinder,Musik,Serie,Show,Spielfilm,Sport|2
+
+ 2|Genre|Genre|Abenteuer,Action,Wirtschaft,Wissen,Zeichentrick|2
+
+ 3|Format|Video-Format|16:9,4:3|2
+
+ 4|Audio|Audio|Dolby Surround,Dolby,Hoerfilm,Stereo|2
+
+ 5|Year|Jahr||2
+
+ 6|Cast|Besetzung||2
+
+ 7|Director|Regisseur||2
+
+ 8|Moderator|Moderation||2
+
+ 9|Rating|Bewertung|Großartig besonders wertvoll,Annehmbar,Schwach|2
+
+ 10|FSK|FSK|6,12,16,18|2
+
+ 11|Country|Land||2
+
+ 12|Episode|Episode||4
+
+ 13|Themes|Thema||4
+
+=head1 SIEHE AUCH
+
+C<epgsearch(1)>
+
+=head1 AUTOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 FEHLER MELDEN
+
+Fehlerberichte bitte im Bugtracker.
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailinglist:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LIZENZ
+
+Copyright © 2004-2007 Christian Wieninger
+
+Dieses Programm ist freie Software. Sie können es unter den Bedingungen
+der GNU General Public License, wie von der Free Software Foundation
+veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 2
+der Lizenz oder (nach Ihrer Option) jeder späteren Version.
+
+Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es
+Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die
+implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN
+ZWECK. Details finden Sie in der GNU General Public License.
+
+Sie sollten ein Exemplar der GNU General Public License zusammen mit
+diesem Programm erhalten haben. Falls nicht, schreiben Sie an die
+Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+Oder rufen Sie in Ihrem Browser http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+auf.
+
+Der Author kann über cwieninger@gmx.de erreicht werden.
+
+Die Projektseite ist http://winni.vdr-developer.org/epgsearch
+
+Der MD5-Code ist abgeleitet aus dem Message-Digest Algorithm
+von RSA Data Security, Inc..
+
diff --git a/doc-src/de/epgsearchchangrps.conf.5.txt b/doc-src/de/epgsearchchangrps.conf.5.txt
new file mode 100644
index 0000000..4ae4703
--- /dev/null
+++ b/doc-src/de/epgsearchchangrps.conf.5.txt
@@ -0,0 +1,73 @@
+=head1 NAME
+
+F<epgsearchchangrps.conf> - Liste der Kanalgruppen
+
+=head1 BESCHREIBUNG
+
+In epgsearch kann man Sender zu Kanalgruppen zusammenfassen die dann in
+den Suchtimern verwendet werden können.
+
+Hierdurch können für viele Suchtimer auf einmal die durchsuchten Kanäle zentral
+neu konfiguriert werden.
+
+In dieser Datei werden die Kanalgruppen gespeichert.
+
+=head1 FORMAT
+
+Jede Zeile eine Kanalgruppe. Jede Zeile beginnt mit dem Gruppennamen, dahinter, getrennt durch '|',
+die Liste der Kanäle.
+
+=head1 BEISPIELE
+
+(Die Zeilen sind gekürzt, daher unvollständig)
+
+ Private|S19.2E-133-33-46|S19.2E-133-33-51
+ ProsiebenSat.1|S19.2E-133-33-46|S19.2E-133-33-47
+ RTL World|S19.2E-1-1089-12003||S19.2E-1-1089-12090
+
+=head1 SIEHE AUCH
+
+C<epgsearch(1)>
+
+=head1 AUTOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 FEHLER MELDEN
+
+Fehlerberichte bitte im Bugtracker.
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailinglist:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LIZENZ
+
+Copyright © 2004-2007 Christian Wieninger
+
+Dieses Programm ist freie Software. Sie können es unter den Bedingungen
+der GNU General Public License, wie von der Free Software Foundation
+veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 2
+der Lizenz oder (nach Ihrer Option) jeder späteren Version.
+
+Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es
+Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die
+implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN
+ZWECK. Details finden Sie in der GNU General Public License.
+
+Sie sollten ein Exemplar der GNU General Public License zusammen mit
+diesem Programm erhalten haben. Falls nicht, schreiben Sie an die
+Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+Oder rufen Sie in Ihrem Browser http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+auf.
+
+Der Author kann über cwieninger@gmx.de erreicht werden.
+
+Die Projektseite ist http://winni.vdr-developer.org/epgsearch
+
+Der MD5-Code ist abgeleitet aus dem Message-Digest Algorithm
+von RSA Data Security, Inc..
+
+
diff --git a/doc-src/de/epgsearchcmds.conf.5.txt b/doc-src/de/epgsearchcmds.conf.5.txt
new file mode 100644
index 0000000..68995b3
--- /dev/null
+++ b/doc-src/de/epgsearchcmds.conf.5.txt
@@ -0,0 +1,78 @@
+=head1 NAME
+
+F<epgsearchcmds.conf> - EPG-Befehle
+
+=head1 BESCHREIBUNG
+
+Diese Datei enthält ähnlich der commands.conf oder der reccmds.conf Befehle, die
+auf die in der Programmübersicht ausgewählte Sendung angewandt werden können.
+
+Intern besitzt epgsearch 8 nicht veränderbare EPG-Befehle.
+
+Wenn eine F<epgsearchcmds.conf> existiert, werden die darin aufgeführten Befehle
+beginnend mit Nummer 9 gelistet.
+
+=head2 Sprachen
+
+Man kann für verschiedene Sprachen unterschiedliche Dateien anlegen. Sie
+müssen dann z.B. F<epgsearchcmds-deu.conf> für deutsch oder
+F<epgsearchcmds-eng.conf> für englisch heissen.
+
+Wenn eine Datei entsprechend der im VDR eingestellten Sprache existiert wird
+diese geladen. Existiert eine solche nicht wird versucht F<epgsearchcmds.conf>
+zu laden.
+
+=head1 FORMAT
+
+Befehlsname : Befehl
+
+=head1 BEISPIELE
+
+epg2taste (de): /usr/local/vdr/epg2taste.sh
+
+=head1 SIEHE AUCH
+
+C<epgsearch(1)>
+
+=head1 AUTOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 FEHLER MELDEN
+
+Fehlerberichte bitte im Bugtracker.
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailinglist:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LIZENZ
+
+Copyright © 2004-2007 Christian Wieninger
+
+Dieses Programm ist freie Software. Sie können es unter den Bedingungen
+der GNU General Public License, wie von der Free Software Foundation
+veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 2
+der Lizenz oder (nach Ihrer Option) jeder späteren Version.
+
+Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es
+Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die
+implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN
+ZWECK. Details finden Sie in der GNU General Public License.
+
+Sie sollten ein Exemplar der GNU General Public License zusammen mit
+diesem Programm erhalten haben. Falls nicht, schreiben Sie an die
+Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+Oder rufen Sie in Ihrem Browser http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+auf.
+
+Der Author kann über cwieninger@gmx.de erreicht werden.
+
+Die Projektseite ist http://winni.vdr-developer.org/epgsearch
+
+Der MD5-Code ist abgeleitet aus dem Message-Digest Algorithm
+von RSA Data Security, Inc..
+
+
diff --git a/doc-src/de/epgsearchdirs.conf.5.txt b/doc-src/de/epgsearchdirs.conf.5.txt
new file mode 100644
index 0000000..e252332
--- /dev/null
+++ b/doc-src/de/epgsearchdirs.conf.5.txt
@@ -0,0 +1,97 @@
+=head1 NAME
+
+F<epgsearchdirs.conf> - Liste von Aufnahmepfaden zur einfachen Auswahl
+
+=head1 BESCHREIBUNG
+
+In epgsearch, speziell beim Editieren von Suchtimern, muss man häufig ganze
+Verzeichnisspfade eingeben. Da dies oft mühselig ist, können in dieser Datei
+häufig genutzte Pfade vorgegeben werden, die dann im Menü einfach ausgewählt
+werden können.
+
+=head1 FORMAT
+
+Pro Zeile ein Pfad. Pfade können Variablen enthalten.
+
+Verwendet werden können interne Variablen, die Variablen des erweiterten EPG
+(F<epgsearchcats.conf>) sowie die in der Datei F<epgsearchuservars.conf>
+konfigurierten Variablen.
+
+Folgende internen Variablen stehen zur Verfügung:
+
+ %title% - Title der Sendung
+ %subtitle% - Subtitle der Sendung
+ %time% - Startzeit im Format HH:MM
+ %date% - Startzeit im Format TT.MM.YY
+ %datesh% - Startdatum im Format TT.MM.
+ %time_w% - Name des Wochentages
+ %time_d% - Tag der Sendung im Format TT
+ %chnr% - Kanalnummer
+ %chsh% - Kanalname kurz
+ %chlng% - Kanalname lang
+
+Für weitere Variablen siehe C<epgsearchcats.conf(5)> und C<epgsearchuservars.conf(5)>.
+
+Im Auswahlmenü werden die Pfade alphabetisch sortiert dargestellt. Pfade die Variablen
+enthalten stehen am Anfang der Liste.
+
+=head1 BEISPIELE
+
+ %Category%~%Genre%
+ %Category%~%Genre%~%Title%~%Episode%: %Subtitle%
+ Information~Natur~%Title%~%Episode%: %Subtitle%
+ %Serie%
+ Spielfilm~Action
+ Spielfilm~Doku
+ Spielfilm~Drama
+ Spielfilm~Horror
+ Musik
+ Sport
+ Show
+ Serie
+
+=head1 SIEHE AUCH
+
+C<epgsearch(1)>, C<epgsearchcats.conf(5)>, C<epgsearchuservars.conf(5)>
+
+=head1 AUTOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 FEHLER MELDEN
+
+Fehlerberichte bitte im Bugtracker.
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailinglist:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LIZENZ
+
+Copyright © 2004-2007 Christian Wieninger
+
+Dieses Programm ist freie Software. Sie können es unter den Bedingungen
+der GNU General Public License, wie von der Free Software Foundation
+veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 2
+der Lizenz oder (nach Ihrer Option) jeder späteren Version.
+
+Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es
+Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die
+implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN
+ZWECK. Details finden Sie in der GNU General Public License.
+
+Sie sollten ein Exemplar der GNU General Public License zusammen mit
+diesem Programm erhalten haben. Falls nicht, schreiben Sie an die
+Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+Oder rufen Sie in Ihrem Browser http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+auf.
+
+Der Author kann über cwieninger@gmx.de erreicht werden.
+
+Die Projektseite ist http://winni.vdr-developer.org/epgsearch
+
+Der MD5-Code ist abgeleitet aus dem Message-Digest Algorithm
+von RSA Data Security, Inc..
+
diff --git a/doc-src/de/epgsearchmenu.conf.5.txt b/doc-src/de/epgsearchmenu.conf.5.txt
new file mode 100644
index 0000000..1c9b0e6
--- /dev/null
+++ b/doc-src/de/epgsearchmenu.conf.5.txt
@@ -0,0 +1,133 @@
+=head1 NAME
+
+F<epgsearchmenu.conf> - Konfiguration der Menüdarstellung
+
+=head1 BESCHREIBUNG
+
+Die Darstellung des Menüs des Plugins kann auf die eigenen Wünsche
+angepasst werden. Die Konfiguration erfolgt mit Hilfe dieser Datei.
+
+=head1 FORMAT
+
+ In dieser Datei können den Variablen
+
+ MenuWhatsOnNow
+ MenuWhatsOnNext
+ MenuWhatsOnElse
+ MenuSchedule
+ MenuSearchResults
+
+Zeichenketten zugewiesen werden die die Darstellung der Menüs im OSD regeln.
+
+Eine Besonderheit stellt MenuSearchResults. Hier kann man der Variablen
+MenuSearchResults eine beliebige Zeichenkette anhängen:
+
+ MenuSearchResultsSerienlayout=...
+
+Dies bewirkt das man beim Editieren eines Suchtimers nun auch dieses Layout
+unter dem Namen "Serienlayout" auswählen kann.
+
+So kann man jedem Suchtimer seine eigene OSD Darstellung verpassen.
+
+Es können alle Variablen verwendet werden. Die Variablen aus dem erweiterten
+EPG, die in der F<epgsearchuservars.conf> konfigurierten sowie die folgenden
+internen:
+
+ %title% - Title der Sendung
+ %subtitle% - Subtitle der Sendung
+ %time% - Startzeit im Format HH:MM
+ %date% - Startzeit im Format TT.MM.YY
+ %datesh% - Startdatum im Format TT.MM.
+ %time_w% - Name des Wochentages
+ %time_d% - Tag der Sendung im Format TT
+ %time_lng% - Startzeit in Sekunden seit 1970-01-01 00:00
+ %t_status% - Timerstatus ('T', 't', 'R')
+ %v_status% - VPS Status
+ %r_status% - Running Status
+ %status% - Kompletter Status, das selbe wie
+ '%t_status%%v_status%%r_status%'
+
+Für die Menüs "Was läuft jetzt" und "Suchergebniss", also die Variablen
+MenuWhatsOnNow und MenuSearchResults, stehen fünf weitere Variablen
+zur Verfügung:
+
+ %chnr% - Kanalnummer
+ %chsh% - Kanalname kurz
+ %chlng% - Kanalname lang
+ %chdata% - VDR's interne Kanaldarstellung (z.B. 'S19.2E-1-1101-28106')
+ %progr% - Grafischer Fortschrittsbalken (nicht für das Menü "Suchergenis")
+ %progrT2S% - Fortschrittsbalken im text2skin Stil (nicht für das Menü "Suchergenis")
+
+Es wird bei den Variablen nicht zwischen Gross-/Kleinschreibung unterschieden.
+
+Ein Eintrag besteht aus bis zu 6 Tabellenspalten, die Spalten werden durch
+'|' getrennt. Der letzte Eintrag jeder Spalte kann die Spaltenbreite durch
+angabe einer Breite in Zeichen festlegen. Die Breitenangabe wird durch ':'
+vom Variablennamen getrennt.
+
+Wenn du Trenner wie '~', '-' oder '#' verwendest um einzelne Bestandteile zu
+trennen, z.B. %title% ~ %subtitle%, dann achtet epgsearch darauf das ein
+solcher Trenner nicht am Ende einer Spalte steht.
+
+Die einzelnen Spaltenbreiten sollten angepasst werden, das Aussehen ist vom
+verwendeten Skin abhängig.
+
+Wenn diese Datei verändert werden soll während VDR läuft kann man dem Plugin
+den Startparamter '-r' oder '--reloadmenuconf' übergeben, die Datei wird dann
+bei jedem öffnen des Menüs neu eingelesen.
+
+=head1 BEISPIELE
+
+ MenuWhatsOnNow=%chnr%:3|%progrt2s%:5| %time% %t_status%:8|%category%:6| %title% ~ %subtitle%:35
+ MenuWhatsOnNext=%chnr%:3|%time% %t_status%:8|%category%:8| %title% ~ %subtitle%:35
+ MenuWhatsOnElse=%chnr%:3|%time% %t_status%:8|%category%:8| %title% ~ %subtitle%:35
+ MenuSchedule=%time% %t_status%:8|%genre%:14| %title% ~ %subtitle%:35
+ MenuSearchResults=%chnr%:3|%datesh% %time% %t_status%:14|%genre%:8| %title%%colon% %subtitle%:35
+ MenuFavorites=%chnr%:3|%datesh% %time% %t_status%:14|%genre%:8| %title%%colon%%subtitle%:35
+
+=head1 SIEHE AUCH
+
+C<epgsearch(1)>, C<epgsearchcats.conf>, C<epgsearchuservars.conf>
+
+=head1 AUTOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 FEHLER MELDEN
+
+Fehlerberichte bitte im Bugtracker.
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailinglist:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LIZENZ
+
+Copyright © 2004-2007 Christian Wieninger
+
+Dieses Programm ist freie Software. Sie können es unter den Bedingungen
+der GNU General Public License, wie von der Free Software Foundation
+veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 2
+der Lizenz oder (nach Ihrer Option) jeder späteren Version.
+
+Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es
+Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die
+implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN
+ZWECK. Details finden Sie in der GNU General Public License.
+
+Sie sollten ein Exemplar der GNU General Public License zusammen mit
+diesem Programm erhalten haben. Falls nicht, schreiben Sie an die
+Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+Oder rufen Sie in Ihrem Browser http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+auf.
+
+Der Author kann über cwieninger@gmx.de erreicht werden.
+
+Die Projektseite ist http://winni.vdr-developer.org/epgsearch
+
+Der MD5-Code ist abgeleitet aus dem Message-Digest Algorithm
+von RSA Data Security, Inc..
+
+
diff --git a/doc-src/de/epgsearchswitchtimers.conf.5.txt b/doc-src/de/epgsearchswitchtimers.conf.5.txt
new file mode 100644
index 0000000..edeaf7f
--- /dev/null
+++ b/doc-src/de/epgsearchswitchtimers.conf.5.txt
@@ -0,0 +1,75 @@
+=head1 NAME
+
+F<epgsearchswitchtimer.conf> - Die gespeicherten Umschalttimer
+
+=head1 BESCHREIBUNG
+
+In epgsearch kann man über das Programmenü und die Suchtimer
+Umschalttimer anlegen, die einem zu beginn der Sendung auf die
+Sendung hinweisen oder gleich umschalten.
+
+Die Umschalttimer werden in dieser Datei gespeichert.
+
+=head1 FORMAT
+
+Der allgemeine Feldtrenner ist C<':'>.
+
+Folgende Felder sind möglich:
+
+ 1 - Kanal
+ 2 - Event ID
+ 3 - Startzeit
+ 4 - Vorlaufzeit
+ 5 - Nur ankündigen
+
+=head1 BEISPIELE
+
+ S19.2E-1-1089-12060:52221:1153322700:1:0
+
+=head1 SIEHE AUCH
+
+C<epgsearch(1)>
+
+=head1 AUTOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 FEHLER MELDEN
+
+Fehlerberichte bitte im Bugtracker.
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailinglist:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LIZENZ
+
+Copyright © 2004-2007 Christian Wieninger
+
+Dieses Programm ist freie Software. Sie können es unter den Bedingungen
+der GNU General Public License, wie von der Free Software Foundation
+veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 2
+der Lizenz oder (nach Ihrer Option) jeder späteren Version.
+
+Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es
+Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die
+implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN
+ZWECK. Details finden Sie in der GNU General Public License.
+
+Sie sollten ein Exemplar der GNU General Public License zusammen mit
+diesem Programm erhalten haben. Falls nicht, schreiben Sie an die
+Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+Oder rufen Sie in Ihrem Browser http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+auf.
+
+Der Author kann über cwieninger@gmx.de erreicht werden.
+
+Die Projektseite ist http://winni.vdr-developer.org/epgsearch
+
+Der MD5-Code ist abgeleitet aus dem Message-Digest Algorithm
+von RSA Data Security, Inc..
+
+
+
diff --git a/doc-src/de/epgsearchtemplates.conf.5.txt b/doc-src/de/epgsearchtemplates.conf.5.txt
new file mode 100644
index 0000000..71ef8af
--- /dev/null
+++ b/doc-src/de/epgsearchtemplates.conf.5.txt
@@ -0,0 +1,60 @@
+=head1 NAME
+
+F<epgsearchtemplates.conf> - Die gespeicherten Suchtimer-Vorlagen
+
+=head1 BESCHREIBUNG
+
+Für die Suchtimer können Vorlagen angelegt werden. Diese werden hier
+gespeichert.
+
+=head1 FORMAT
+
+Diese Datei hat dasselbe Format wie die Datei F<epgsearch.conf>. Für den
+Aufbau verweise ich auf C<epgsearch.conf(5)>.
+
+=head1 SIEHE AUCH
+
+C<epgsearch(1)>
+
+=head1 AUTOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 FEHLER MELDEN
+
+Fehlerberichte bitte im Bugtracker.
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailinglist:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LIZENZ
+
+Copyright © 2004-2007 Christian Wieninger
+
+Dieses Programm ist freie Software. Sie können es unter den Bedingungen
+der GNU General Public License, wie von der Free Software Foundation
+veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 2
+der Lizenz oder (nach Ihrer Option) jeder späteren Version.
+
+Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es
+Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die
+implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN
+ZWECK. Details finden Sie in der GNU General Public License.
+
+Sie sollten ein Exemplar der GNU General Public License zusammen mit
+diesem Programm erhalten haben. Falls nicht, schreiben Sie an die
+Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+Oder rufen Sie in Ihrem Browser http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+auf.
+
+Der Author kann über cwieninger@gmx.de erreicht werden.
+
+Die Projektseite ist http://winni.vdr-developer.org/epgsearch
+
+Der MD5-Code ist abgeleitet aus dem Message-Digest Algorithm
+von RSA Data Security, Inc..
+
+
diff --git a/doc-src/de/epgsearchuservars.conf.5.txt b/doc-src/de/epgsearchuservars.conf.5.txt
new file mode 100644
index 0000000..e40256a
--- /dev/null
+++ b/doc-src/de/epgsearchuservars.conf.5.txt
@@ -0,0 +1,188 @@
+=head1 NAME
+
+F<epgsearchuservars.conf> - Die Uservariablen
+
+=head1 BESCHREIBUNG
+
+In dieser Datei können Variablen definiert werden die dann in epgsearch
+in allen Feldern, in denen Variablen möglich sind, zur Verfügung stehen.
+
+=head1 FORMAT
+
+Die Variablen selbst sind in dem Format %Variablenname% aufgebaut.
+
+"Variablenname" kann aus alphanumerischen Zeichen bestehen, Leerzeichen
+und Sonderzeichen sind nicht erlaubt.
+
+Zwischen Gross-/und Kleinschreibung wird nicht unterscheiden.
+
+Beispiele für mögliche Namen:
+
+ %Serie% %DokuVar1% %ThemesSubtitleDate1%
+
+=head2 Zuweisung
+
+Die Zuweisung eines Wertes erfolgt so:
+
+ %Serie%=Neue Serie~Krimi
+
+Hier wird der Variablen %Serie% die Zeichenkette "Neue Serie~Krimi" zugewiesen.
+
+Es wird immer eine Zeichenkette zugewiesen. Leerzeichen werden daher auch
+als Leerzeichen mit übernommen.
+
+ %Pfad%=%Serie%
+
+Hier wird der Variablen %Pfad% der Inhalt der Variablen %Serie% zugewiesen.
+
+Das lässt sich beliebig verwenden.
+
+ %Pfad%=%Serie%~Tatort
+
+Pfad enthält hier den String "Neue Serie~Krimi~Tatort".
+
+=head2 Kontroll-Strukturen
+
+Einfache "if then else" Konstrukte sind mögliche.
+
+Innerhalb dieser Konstrukte können keine Strings, wohl aber Variablen
+zugwiesen werden. Leerzeichen werden ignoriert.
+
+ %Foo%=Verschiedenes
+
+ %Variable%=%Pfad% ? %Pfad% : %Foo%
+
+Ist Pfad nicht leer, weise %Variable% den Inhalt aus %Pfad% zu, sonst
+den Inhalt aus %Foo%.
+
+"%Pfad% ?" bedeutet also "nicht leer?". Es sind auch andere Prüfungen
+möglich.
+
+ %Variable%=%Pfad%!=5 ? %Pfad% : %Foo%
+
+"%Pfad%!=5 ?" bedeutet "ist %Pfad% ungleich 5?"
+
+Es können auch Variablen verglichen werden.
+
+ %Fuenf%=5
+
+ %Variable%=%Pfad%!=%Fuenf% ? %Pfad% : %Foo%
+
+
+Folgende Prüfungen sind möglich:
+
+ == ist gleich
+ != ist nicht gleich
+
+=head2 Systemaufruf
+
+Es können auch externe Programme/Scripte aufgerufen werden. Die zurück-
+gegebene Zeichenkette wird dann einer Variablen zugewiesen.
+
+ %Ergebnis%=system(scriptname,%Variable1% %Variable2% -f %Variable3% --dir=%Variable4% --dummy)
+
+Ruft das Script "scriptname" mit den Parametern "%Variable1%",
+"%Variable2%", usw. auf. Das Ergebnis wird der Variablen %Ergebnis%
+zugewiesen.
+
+Es sind beliebig viele Variablen möglich.
+
+Wenn nötig, umfasst epgsearch die Variablen automatisch mit "".
+
+Das Script darf nur eine Zeichenkette ohne Zeilenumbruch zurückgeben.
+
+Erfolgt keine Rückgabe wird der Variablen %Ergebnis% eine leere Zeichenkette
+zugewiesen.
+
+=head2 Verfügbare Variablen
+
+Folgende Variablen sind bereits intern definiert und können verwendet
+werden.
+
+ %title% - Title der Sendung
+ %subtitle% - Subtitle der Sendung
+ %time% - Startzeit im Format HH:MM
+ %timeend% - Endzeit im Format HH:MM
+ %date% - Startzeit im Format TT.MM.YY
+ %datesh% - Startdatum im Format TT.MM.
+ %time_w% - Name des Wochentages
+ %time_d% - Tag der Sendung im Format TT
+ %time_lng% - Startzeit in Sekunden seit 1970-01-01 00:00
+ %chnr% - Kanalnummer
+ %chsh% - Kanalname kurz
+ %chlng% - Kanalname lang
+ %chdata% - VDR's interne Kanaldarstellung (z.B. 'S19.2E-1-1101-28106')
+
+ %summary% - Beschreibung
+ %htmlsummary% - Beschreibung, alle CR ersetzt durch '<br />'
+ %eventid% - Event ID
+
+ %colon% - Das Zeichen ':'
+ %datenow% - Aktuelles Datum im Format TT.MM.YY
+ %dateshnow% - Aktuelles Datum im Format TT.MM.
+ %timenow% - Aktuelle Zeit im Format HH:MM
+ %videodir% - VDRs Aufnahme-Verzeichnis (z.B. /video)
+ %plugconfdir% - VDRs Verzeichnis für Plugin-Konfigurationsdateien (z.B. /etc/vdr/plugins)
+ %epgsearchdir% - epgsearchs Verzeichnis für Konfiguratzionsdateien (z.B. /etc/vdr/plugins/epgsearch)
+
+Desweiteren können die in der Datei F<epgsearchcats.conf> definierten Variablen
+verwendet werden. Siehe dazu C<epgsearchcats.conf(5)>.
+
+=head1 BEISPIELE
+
+ # Wochentag, Datum, Uhrzeit
+ %Datum%=%time_w% %date% %time%
+
+ # Themes oder Subtitle oder Datum
+ %ThemesSubtitleDate1%=%Subtitle% ? %Subtitle% : %Datum%
+ %ThemesSubtitleDate%=%Themes% ? %Themes% : %ThemesSubtitleDate1%
+
+ # Rufe das Script auf das den Aufnahmepfad erzeugt
+ %DokuScript%=system(doku.pl,%Title%,%Subtitle%,%Episode%,%Themes%,%Category%,%Genre%)
+ %Doku%=%DokuScript%
+
+=head1 SIEHE AUCH
+
+C<epgsearch(1)>, C<epgsearchcats.conf(5)>
+
+=head1 AUTOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 FEHLER MELDEN
+
+Fehlerberichte bitte im Bugtracker.
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailinglist:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LIZENZ
+
+Copyright © 2004-2007 Christian Wieninger
+
+Dieses Programm ist freie Software. Sie können es unter den Bedingungen
+der GNU General Public License, wie von der Free Software Foundation
+veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 2
+der Lizenz oder (nach Ihrer Option) jeder späteren Version.
+
+Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es
+Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die
+implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN
+ZWECK. Details finden Sie in der GNU General Public License.
+
+Sie sollten ein Exemplar der GNU General Public License zusammen mit
+diesem Programm erhalten haben. Falls nicht, schreiben Sie an die
+Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+Oder rufen Sie in Ihrem Browser http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+auf.
+
+Der Author kann über cwieninger@gmx.de erreicht werden.
+
+Die Projektseite ist http://winni.vdr-developer.org/epgsearch
+
+Der MD5-Code ist abgeleitet aus dem Message-Digest Algorithm
+von RSA Data Security, Inc..
+
diff --git a/doc-src/de/noannounce.conf.5.txt b/doc-src/de/noannounce.conf.5.txt
new file mode 100644
index 0000000..83a3ba6
--- /dev/null
+++ b/doc-src/de/noannounce.conf.5.txt
@@ -0,0 +1,53 @@
+=head1 NAME
+
+F<noannounce.conf> - Liste von Sendungen, die nicht mehr per OSD angekündigt
+werden sollen.
+
+=head1 BESCHREIBUNG
+
+Diese Datei enthält eine Liste von Sendungen die markiert wurden, sodass diese
+nicht mehr durch den Suchtimer-Hintergrund-Thread per OSD angekündigt werden.
+
+Wenn während der Ankündigung einer Sendung eine der Tasten '0', ... '9' oder
+'Ok' gedrückt wird, wird nachgefragt, ob zukünftige Ankündigungen vollständig
+(bei den Tasten '0' oder 'Ok') oder nur für die nächsten x Tage (bei den
+Tasten '1' bis '9') unterdrückt werden sollen. Bestätigt man diese Abfrage
+durch ein erneutes 'Ok', wird die Einstellung entsprechend übernommen.
+
+=head1 FORMAT
+
+Pro Zeile eine Sendung, die Felder werden durch ':' getrennt.
+
+Folgende Felder existieren:
+
+ 1 - Titel
+ 2 - Episode
+ 3 - Kanal-Kennung
+ 4 - Startzeit
+ 5 - Zeitpunkt für nächste Ankündigung
+
+=head1 SIEHE AUCH
+
+C<epgsearch(1)>
+
+=head1 AUTOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 FEHLER MELDEN
+
+Fehlerberichte bitte im Bugtracker.
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailinglist:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT und LIZENZ
+
+Copyright © 2005 - 2007 Christian Wieninger
+
+Dieses Dokument wird unter den Bedingungen der Gnu Public License
+(GPL) veröffentlicht. Alle Angaben sind nach bestem Wissen, aber
+natürlich ohne Gewähr (no warranty in any kind).
diff --git a/doc-src/de/timersdone.conf.5.txt b/doc-src/de/timersdone.conf.5.txt
new file mode 100644
index 0000000..b61d096
--- /dev/null
+++ b/doc-src/de/timersdone.conf.5.txt
@@ -0,0 +1,55 @@
+=head1 NAME
+
+F<timersdone.conf> - Liste von anstehenden Timern, die von Suchtimern erzeugt
+wurden.
+
+=head1 BESCHREIBUNG
+
+Diese Datei enthält eine Liste von anstendenden Timern, die von Suchtimern
+erzeugt wurden. Wenn die Setup-Option 'Timer nach Löschen neuprogrammieren'
+auf nein steht, benutzt epgsearch diese Liste, um zu prüfen, ob ein Timer
+bereits angelegt wurde und erstellt den Timer in diesem Fall nicht nochmals.
+Sobald die zugehörige Aufnahme stattgefunden hat, wird der Timer automatisch
+aus dieser Liste entfernt.
+
+=head1 FORMAT
+
+Pro Zeile ein Timer, die Felder werden durch ':' getrennt.
+
+Folgende Felder existieren:
+
+ 1 - Kanal-Kennung
+ 2 - Startzeit
+ 3 - Stopzeit
+ 4 - Suchtimer-ID
+ 5 - Titel der Sendung
+ 6 - Untertitel der Sendung
+
+=head1 SIEHE AUCH
+
+C<epgsearch(1)>
+
+=head1 AUTOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 FEHLER MELDEN
+
+Fehlerberichte bitte im Bugtracker.
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailinglist:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT und LIZENZ
+
+Copyright (c) 2005-2006 Christian Wieninger
+
+L<http://www.cwieninger.de.vu/>
+
+Dieses Programm ist freie Software. Es darf nach belieben benutzt,
+kopiert, modifiziert, verteilt und verkauft werden, solange niemand
+anderem das Recht abgesprochen wird dasselbe zu tun.
+
diff --git a/doc-src/en/createcats.1.txt b/doc-src/en/createcats.1.txt
new file mode 100644
index 0000000..cca13dd
--- /dev/null
+++ b/doc-src/en/createcats.1.txt
@@ -0,0 +1,120 @@
+=head1 NAME
+
+B<createcats> - helps you creating your own F<epgsearchcats.conf>
+
+=head1 SYNOPSIS
+
+B<createcats> [OPTIONS] F</path_to/epg.data>
+
+=head1 DESCRIPTION
+
+This tool is deliverd with the plugin and should exist in the plugins
+source directory after compilation. It helps you in creating your own
+epgsearchcats.conf, if the samples in directory 'conf' don't fit your needs.
+
+createcats takes your epg.data as argument and scans it for suitable
+EPG infos. Such an info is a set of a category name and a coresponding
+value at the beginning of a line (represented with '|') and has the
+form '|category: value', e.g.
+
+ |Genre: Action
+
+So simply call it with
+
+B<createcats> /path_to/epg.data
+
+The output is a file epgsearchcats.conf, that should be copied to your
+plugins config dir. Before using it, you should do some customizing,
+since not all things in the file will be suitable to be used as
+extended EPG info.
+
+=head1 OPTIONS
+
+The full set of arguments is:
+
+usage: B<createcats> [OPTIONS] F</path_to/epg.data>
+
+ -m N, --minappearance=N the minimum number a category has to appear
+ to be used
+ -v N, --maxvalues=N values of a category are omitted if they exceed
+ this number
+ -l N, --maxlength=N the maximum length of a text to be accepted
+ as a category value
+ -h, --help this help
+
+Some notes:
+
+=over 4
+
+=item -m N, --minappearance=N
+
+createcats counts how often a category is used in your current
+epg.data. If this is less than N, then this category will not be part
+of the resulting epgsearchcats.conf.
+
+=item -v N, --maxvalues=N
+
+if the number of values for a category is more than N then createcats
+will not output a value list for this category. As a consequence in
+epgsearch the menu item gets an edit item, that can be filled with
+every text. Else, the item gets a selection item, that lets you select
+from a list of values.
+
+=item -l N, --maxlength=N
+
+if the text length of a value is more than N, this value is not part
+of the value list.
+
+=back
+
+B<Hint:> Results are best, if your current EPG is as big as possible. So
+update it, if you are using an external EPG provider, before calling
+createcats.
+
+Please edit this file now, since it will contain also things not suitable.
+
+After that copy it to your plugins config directory.
+
+=head1 SEE ALSO
+
+C<epgsearch(1)>, C<epgsearch(4)>, C<epgsearchcats.conf(5)>
+
+=head1 AUTHOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 REPORT BUGS
+
+Bugreports (german):
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailinglist:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+
+=head1 COPYRIGHT and LICENSE
+
+Copyright (C) 2004-2007 Christian Wieninger
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+The author can be reached at cwieninger@gmx.de
+
+The project's page is at http://winni.vdr-developer.org/epgsearch
+
+The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.
diff --git a/doc-src/en/epgsearch.1.txt b/doc-src/en/epgsearch.1.txt
new file mode 100644
index 0000000..51e9e58
--- /dev/null
+++ b/doc-src/en/epgsearch.1.txt
@@ -0,0 +1,1116 @@
+=head1 NAME
+
+F<epgsearch> - Searchtimer and replacement of the VDR program menu
+
+=head1 OVERVIEW
+
+EPG-Search can be used as a replacement for the default schedules
+menu entry. It looks like the standard schedules menu, but adds some
+additional functions:
+
+ - Commands for EPG entries with 5 built-in commands like 'show repeats',
+ 'create search'. One can add own commands for other needs, like adding a
+ VDRAdmin auto-timer.
+
+ - Add up to 4 user-defined times to 'now' and 'next' and an optional
+ favorites menu
+
+ - Searching the EPG: Create reusable queries, which can also be used
+ as 'search timers'.
+
+ - Search timers: Search for broadcasts in the background and add a
+ timer if one matches (similar to VDRAdmin's auto-timers) or simply
+ make an announcement about it via OSD
+
+ - Avoid double recordings of the same event
+ * timer preview
+ * recognition of broken recordings
+ * fuzzy event comparison
+
+ - Progress bar in 'What's on now' and 'What's on next'
+
+ - Shift the time displayed by key press, e.g. 'What's on now' + 30 minutes
+
+ - Start menu can be setup between 'Schedule' or 'What's on now'
+
+ - background check for timer conflicts with a timer conflict manager
+
+ - detailed EPG menu (summary) allows jumping to the next/previous
+ event
+
+ - support for extended EPG info for search timers
+
+ - extension of the timer edit menu with a directory item, user
+ defined weekday selection and a subtitle completion.
+
+ - Timer conflict check, informs you over the OSD about conflicts
+
+ - Timer conflict menu, show detailed information about the conflicts
+ and let you resolve them
+
+ - Email notifications about search timer updates and timer conflicts
+
+Works only with >= vdr-1.3.46 or newer.
+
+Parts of the sources are based on the repeating-ECG patch from Gerhard Steiner, who gave me the permission to use them. Thanks for his work!
+
+=head1 OPTIONS
+
+=over 4
+
+=item -f file, --svdrpsendcmd=file
+
+the path to svdrpsend.pl for external SVDRP communication (default is
+internal communication, so this is usually not needed anymore)
+
+=item -c path, --config=path
+
+to specify a specific config directory for all epgsearch config files, default
+is '<plugins configuration directory>/epgsearch'
+
+=item -l file, --logfile=file
+
+to specify a specific log file for epgsearch (default log file is
+epgsearch.log in the epgsearchs config directory)
+
+=item -v n, --verbose=n
+
+verbose level for log file. Value 0 means no logging. Other values
+are 1 (general messages), 2 (detailed messages), 3 (planned for extra
+detailed info for debugging purposes)
+
+=item -r, --reloadmenuconf
+
+reload epgsearchmenu.conf with plugin call. This can be useful when testing
+customized menu layouts.
+
+=item -m file, --mailcmd=file
+
+the external command to be used for mail delivery. The default uses
+'sendEmail.pl'. If you are using a different command or script make sure that
+it has the same parameter interface as sendEmail.pl.
+
+=back
+
+=head1 CONTENT
+
+ 1. Description
+ 1.1 Menu commands
+ 1.2 Menu search
+ 1.2.1 Menu edit search
+ 1.2.2 Menu search results
+ 1.3 Extended 'now' and 'next'
+ 1.4 Menu setup
+ 2. Search timers
+ 2.1 'Avoid repeats' - internals
+ 2.2 How do we compare two events?
+ 2.3 How and when do we compare?
+ 3. Usage from other plugins or scripts
+ 4. Using extended EPG info
+ 5. Replacing the standard schedule menu
+ 6. Add-ons
+
+=head1 1. Description
+
+At first glance EPG-Search looks like the schedules menu entry of VDR.
+By pressing the key '0', one can toggle the bottom color keys to access
+additional functions (the default assignment of the color keys can be
+adjusted by setup):
+
+
+=head2 1.1 Menu Commands
+
+This menu displays commands that can be executed on the current
+item. There are 8 built-in commands:
+
+ - Repeats: Searches for repeats
+
+ - Record
+
+ - Switch
+
+ - Create search
+ Switches to search menu and adds a new search with the name of the current
+ item (to avoid editing the name manually)
+
+ - Search in recordings:
+ Search the recordings for a broadcast with the same name
+
+ - Mark as 'already recorded':
+ This puts the selected event in the file epgsearchdone.data and instructs
+ epgsearch to avoid recording this event if an according search timer is set
+ to "avoid repeats". An already created timer will be automatically removed
+ with the next search timer update.
+
+ - Add/Remove to/from switch list?:
+ Controls the switch list. If there is an event in the switch list, epgsearch
+ will announce it and switch to the event before it starts. To access the
+ complete switch list, call 'Search/Actions/Switch list'.
+
+ - Create blacklist:
+ A blacklist is used to ignore events when using search timers. A search
+ timer can be setup to ignore events from arbitrary blacklists.
+
+You can add your own commands to this menu by editing the file
+epgsearchcmds.conf in epgsearchs config directory. There's a sample
+conf file with some sample commands (see directory 'scripts', taken
+from vdr-wiki.de, thanks to the authors).
+
+The format of the file is the same as VDR's commands.conf or
+reccmds.conf. When a command is executed the following parameters
+are passed to it:
+
+ $1: the title of the EPG entry
+ $2: the start time of the EPG entry as time_t value (like in the
+ shutdown script)
+ $3: the end time
+ $4: the channel number of the EPG entry
+ $5: the long channel name of the EPG entry
+ $6: the subtitle of the EPG entry, "" if not present
+
+To execute a command from the main menu you can also press its
+associated number without opening the commands menu.
+
+=head2 1.2 Menu search
+
+Here you can add, edit, delete and execute your own queries on the
+EPG. The usage and behavior of this menu is similar to VDR's timer
+menu.
+
+=head3 1.2.1 Menu edit search
+
+Most things in this menu are quite clear, so only some notes on:
+
+=over 4
+
+=item - B<Search term:>
+
+The term to search for. If you like to search for more words, separate
+them by blanks. Leaving this empty (combined with search mode
+'Phrase') will match anything. This is useful, if you search e.g. for
+anything that starts between some times on a specific channel.
+
+With 'blue' you can also select a template for the new search. If
+one of the templates is set to default, new searches will
+automatically get the settings of the default template.
+
+Note: fuzzy searching is limited to 32 chars!
+
+=item - B<Search mode:>
+
+'Phrase' searches for the expression within the EPG. 'All words'
+requires, that each word of the expression occurs in the EPG item.
+'at least one word' requires, that only one word occurs in the EPG item.
+'Match exactly' requires, that your search term matches exactly the
+found title, subtitle or description.
+
+With 'Regular expression' you can setup a regular expression as
+search term. You don't need a leading and trailing '/' in the
+expression. By default these are POSIX extended regular expressions.
+If you like to have Herl compatible regular expression, simply edit
+the plugins Makefile and uncomment #HAVE_PCREPOSIX=1 to
+HAVE_PCREPOSIX=1 (you will need pcreposix installed, comes with
+libpcre from www.pcre.org, but it's already part of most distributions).
+
+See also C<epgsearch(4)> 'Description of the search process'.
+
+=item - B<Use extended EPG info:>
+
+Only available if configured, see below 'Using extended EPG info'.
+
+=item - B<Ignore missing categories:>
+
+If set to 'Yes' this tells epgsearch that a missing EPG category
+should not exclude an event from the results. Caution: Using this without
+any other criterions could flood your timers.
+
+=item - B<Use channel:>
+
+Search only for events in the given channels interval, channel
+groups or FTA channels only.
+
+Channel groups (e.g. sport channels or Pay-TV channels) can be
+managed with a sub-menu called with 'blue'.
+
+ATTENTION: After changing the channels order please check the
+settings of your search timers!
+
+=item - B<Use day of week:>
+
+Besides the weekdays you can also set up a user-defined selection,
+e.g. search only on Monday and Friday.
+
+You'll find the user-defined selection in the list after Friday.
+
+=item - B<Use blacklists:>
+
+You can select one or more or all blacklists here. If any search result
+is also contained in one of the selected blacklists it will be skipped.
+
+=item - B<Use in favorites menu:>
+
+Only available if turned on in setup. With this option you can mark a search
+to be used in the favorites menu. The search results of all these searches are
+listed in the favorites menu.
+
+=item - B<Result menu layout:>
+
+Only available if you have defined more than one menu template for search
+results in epgsearchmenu.conf. This option is used to assign a different menu
+layout for the search results of this search.
+
+=item - B<Use as Search Timer:>
+
+If set to yes, the plugin will do a background scan of the EPG in
+certain intervals and add a timer, if there is a match. You have to
+activate the 'search timers' in the setup. If set to "user defined" one
+can specify time margins with key 'blue' where the search timer is active
+or not.
+
+=item - B<Action:>
+
+Default action is creating a timer for the search results. But you can
+also choose to simply announce the found event via OSD or to switch
+to the event one minute before it starts.
+
+=item - B<Serial recording:>
+
+If set to yes, the recordings will be stored in a folder with the name
+of the broadcasting and the recordings itself will have the name of
+the episode. If there is no episode name, the date and time of the
+recording will be used.
+
+=item - B<Directory:>
+
+Here you can assign a directory, where the recording should be stored,
+e.g. 'SciFi'. Use the key 'blue' to select directory entries already
+used in other search entries or given by entries in the file
+epgsearchdirs.conf (simply place your directories here one at each line
+without the leading video directory, also see MANUAL).
+If your provider delivers extended EPG infos you can also use
+variables like "%Genre%" or "%Category%" in your directory
+entry. These are replaced with the current EPG info, when a timer is
+created.
+
+See also C<epgsearch(4)> 'Using variables in the directory
+entry of a search timer'.
+
+=item - B<Delete recordings after ... days:>
+
+Some recordings should only be kept for a few days, like news. With
+this feature you can tell epgsearch to delete them automatically
+after ... days.
+
+=item - B<Pause if ... recordings exist:>
+
+If the given numbers of recordings currently exists, then epgsearch
+will not create further timers. After deleting one or more
+recordings it will go on generating new timers.
+
+=item - B<Avoid repeats:>
+
+If you don't want to record repeats, this feature tries to check if
+an event was already recorded/programmed and skips it. Please refer
+to the section 'Avoid repeats - internals' below before using it.
+
+=item - B<Allowed repeats:>
+
+If you like to accept a certain amount of repeats you can give here
+their number.
+
+=item - B<Only repeats within ... days:>
+
+Give here the number of days a repeat has to follow its first
+broadcast. 0 is equal to no restriction.
+
+=item - B<Compare title:>
+
+When comparing to events then specify here if the title should be
+compared.
+
+=item - B<Compare subtitle:>
+
+When comparing to events then specify here if the subtitle should be
+compared. If there is no subtitle than this event is always
+different to an event with/without a subtitle.
+
+=item - B<Compare description:>
+
+When comparing to events then specify here if the description should
+be compared.
+
+For comparison all parts of the description, that look like a
+category value, are removed first. The remaining text will be
+compared. If this is similar at 90% (regarding the
+Levinshtein-Distance algorithm) then it will be accepted as equal.
+
+=item - B<Compare categories:>
+
+With the button 'setup' you can also specify which categories should
+be compared. As with subtitles an event is different if it has no
+according category value.
+
+=item - B<Priority, lifetime, margins for start and stop:>
+
+Each search timer can have its own settings for these parameters.
+Defaults can be adjusted in the plugins setup.
+
+=item - B<VPS:>
+
+If set to yes, VPS is used, but only, if activated in VDR's setup menu and
+if the broadcasting has VPS information.
+
+=item - B<Auto delete:>
+
+to automatically delete a search timer if the following is true:
+
+ * after x recordings, or
+ * after x days after the first recording
+
+Only complete recordings are counted. The deletion is executed directly after
+the correspondig recording
+
+=back
+
+To toggle the flag 'Use as search timer' without editing the search
+entry you can use the key '2'. This will call directly the second
+command of the command menu.
+
+=head3 1.2.2 Menu search results
+
+This menu displays the search results. A 'T' lets you know, that there
+is already a timer for the event. A 't' means that there's only a
+partial timer for it, as in standard schedules menu.
+
+=head2 1.3 Extended 'now' and 'next' and favorites
+
+By setup, one can add up to 4 additional times to extend the green
+button, e.g. 'afternoon', 'prime time', 'late night'. Times, that are
+already passed, are skipped (you will not get 'afternoon' at evening) with the
+exception that a time will be displayed for the next day, if it is less then
+20h in the future.
+In these menus you can shift the currently displayed time by pressing
+FastRew or FastFwd to move back and forward in time. If you don't have
+these keys on your remote, you can access this function by pressing
+'0' to toggle the green and yellow button to '<<' and '>>'. This toggling
+can be adjusted by setup.
+
+You can display a progress bar in 'now' and 'next'. When using text2skin you
+should use the setup option "text2skin" in the setup option "Show progress in
+'Now'"/Show progress in 'Next'" (the setting 'graphical' may also work with
+text2skin, but this depends on the selected skin).
+
+Furthermore you can enable in the setup an favorites list. You can configure
+your searchtimers ("Use in favorite list") to display their results in
+you favorite list. This list display event in the next 24 hours ordered by time.
+
+=head2 1.4 Menu setup
+
+=head3 1.4.1 General
+
+=over 4
+
+=item - B<Hide main menu entry:>
+
+This hides the main menu entry 'search'. Attention: when the plugin is
+assigned to key 'green' then hiding the plugin will give you VDR's
+standard schedule menu (see below to avoid this).
+
+=item - B<Main menu entry:>
+
+If not hidden, the name of main menu entry can be set here. Default is
+'Program guide'. Note: If you set it to something different from the default
+then the main menu entry is no longer dependent on the OSD language. Setting
+it back to default or empty restores this behavior again.
+
+=item - B<Start menu:>
+
+Select the starting menu 'Schedules' or 'Now'
+
+=back
+
+=head3 1.4.2 EPG menus
+
+=over 4
+
+=item - B<Ok key:>
+
+Choose here the behavior of key 'Ok'. You can use it to display the summary
+or to switch to the corresponding channel. Note: the functionality of key
+'blue' (Switch/Info/Search) depends on this setting.
+
+=item - B<Red key:>
+
+Select if you like to have Standard ('Record') or 'Commands' as
+assignment for key 'red'.
+
+=item - B<Blue key:>
+
+select if you like to have Standard ('Switch') or 'Search' as
+assignment for key 'blue'.
+
+=item - B<Show progress in 'Now':>
+
+In the menu 'what's on now' you can display a progress bar, that
+displays the progress of the current item. When using text2skin you
+should use the setup option "text2skin" (the setting 'graphical' may also
+work with text2skin, but this depends on the selected skin).
+
+=item - B<Show channel numbers:>
+
+Select this if you like to have a leading channel number before each
+item in the EPG menus.
+
+=item - B<Show channel separators:>
+
+Display channel group separators between channel in the menus
+'Overview now',...
+
+=item - B<Show day separators:>
+
+Display a day separator between events on different days in the
+schedule menu.
+
+=item - B<Show radio channels:>
+
+Also list radio channels.
+
+=item - B<Limit channels from 1 to:>
+
+If you have a large channel set you can speed up things when you limit the
+displayed channels with this setting. Use '0' to disable the limit. If the
+current channel is above the limit, the limit is ignored and all channels will
+be displayed again.
+
+=item - B<'One press' timer creation:>
+
+If set to 'yes' a timer is immediately created when pressing 'Record' as
+introduced in vdr-1.3.38, else the timer edit menu is displayed.
+
+=item - B<Show channels without EPG:>
+
+Display channels without EPG to allow switching or create a timer.
+
+=item - B<Time interval for FR/FF [min]:>
+
+In the menus 'now', 'next', 'user def 1', ... you can shift the
+displayed time by pressing FastRew, FastFwd on your remote control.
+Adjust the amount of minutes to jump here.
+
+=item - B<Toggle Green/Yellow:>
+
+If you don't have FastRew, FastFwd on your remote control, set this to
+yes. When pressing '0' in the menus, this toggles the assignment of
+the color keys and assigns e.g. '<<' and '>>' to 'green' and 'yellow'.
+
+=item - B<Show favorites menu:>
+
+A favorites menu can display a list of your favorite broadcasts. Enable this
+if you want an additional menu besides 'Now' and 'Next'. You can choose
+between displaying this menu before or after the menus with user-defined
+times. Any search can be used as a favorite. You only have to set the option
+'Use in favorites menu' when editing a search.
+
+=item - B<for the next ... hours:>
+
+This value lets you adjust the timespan used to display the favorites.
+
+=back
+
+=head3 1.4.3 User-defined EPG times
+
+=over 4
+
+=item - B<Use user time 1..4:>
+
+Add up to 4 user-defined times besides 'now' and 'next'.
+
+=item - B<Description:>
+
+Name of the user-defined time, e.g. 'Afternoon', 'Prime time', 'Late
+night'.
+
+=item - B<Time:>
+
+The associated time of the user-defined time.
+
+=back
+
+=head3 1.4.4 Timer programming
+
+=over 4
+
+=item - B<Use VDR's timer edit menu:>
+
+When programming a standard timer epgsearch uses an extended menu,
+that also supports a directory item, user defined weekday selection
+and subtitle completion. If you are using a patched version of VDR,
+that also has an extended timer edit menu and like to use this menu
+rather than epgsearch's then set this option to 'Yes'.
+
+=item - B<Default recording directory:>
+
+This entry will be used in standard timer programming as default
+directory. You can also use EPG category variables (e.g. 'My
+Movies~%Category%~%Genre%'). When the timer edit menu is launched
+epgsearch tries to replace all variables with the values found in
+the description of the event. If not all variables could be replaced
+then the directory item is left blank.
+
+=item - B<Add episode to manual timers:>
+
+When manually adding a timer epgsearch can automatically add the
+episode name to the timer file resulting in a sub-folder for the
+later recording, that is named with the episode name. Choose here how
+this should be done. 'smart' tries to recognize if this makes
+sense. Therefore it checks the length of the event and skips the
+subtitle if the event has more than 80min.
+
+=item - B<Default timer check method:>
+
+Manual timers can be checked for EPG changes. Here you can setup the default
+check method for each channel. The following methods exist:
+ * no check
+ * by event ID: checks by an event ID supplied by the channel provider.
+ * by channel and time: check by the duration match.
+
+Not all channels provide a proper event ID, so you can setup the default for
+each channel here. When programming a manual timer, this default use used in
+epgsearch's own timer edit menu.
+
+=back
+
+=head3 1.4.5 Search and search timers
+
+=over 4
+
+=item - B<Use search timers:>
+
+If yes, the plugin makes a background scan of the EPG and adds timers
+if it finds matching entries. This applies only to searches that are
+marked with 'use as search timer'.
+
+=item - B<Update interval:>
+
+The update interval of the background scan for search timers in minutes.
+
+=item - B<SVDRP port:>
+
+If you are using a SVDRP port other than 2001 then enter this here
+to get the search timers working.
+
+=item - B<Default Priority:>
+
+Default priority of generated timers.
+
+=item - B<Default Lifetime:>
+
+Default lifetime of generated timers.
+
+=item - B<Margin at start/stop:>
+
+Default margins of generated timers.
+
+=item - B<No announcements when replaying:>
+
+suppress event announcements while any replay is active.
+
+=item - B<Recreate timers after deletion:>
+
+epgsearch remembers by default which timers where already created by search
+timers and will not recreate them if they were removed. To disable this
+behaviour set this to 'Yes'.
+
+Default margins of generated timers.
+
+=item - B<Ignore Pay-TV channels:>
+
+Set this to 'Yes' if you don't want to have events from Pay-TV channels when
+searching for a repeat.
+
+=item - B<Search templates:>
+
+Here you can manage search templates which can be used when creating a
+search.
+
+=item - B<Blacklists:>
+
+Here you can manage blacklists which can be used to suppress unwanted events
+within a search.
+
+=item - B<Channel groups:>
+
+Here you can setup channel groups (e.g. Sport channels, Pay-TV
+channels) that can be used as criterion in searches. The same can
+be done in the search edit menu.
+
+=back
+
+B<Important>: if you get your EPG from external sources make sure that search
+timer updates are disabled while your EPG is updated. The reason for this is
+that epgsearch will remove timers without events assigned to them. This
+situation can exist while the new EPG is feeded to VDR. A simple way to
+disable search timer updates is to use the SVDRP command SETS in your EPG
+update script:
+
+svdrpsend.pl plug epgsearch SETS off
+
+<your EPG update script>
+
+svdrpsend.pl plug epgsearch SETS on
+
+=head3 1.4.6 Timer conflict checking
+
+=over 4
+
+=item - B<Ignore below priority:>
+
+If a timer will fail with a priority below the given value, you won't get an
+OSD message about this and the conflict will be classified as 'not relevant'
+in the conflicts overview.
+
+=item - B<Ignore conflict duration less ... min.:>
+
+If a conflict will last only the given minutes it will not produce an OSD
+message and the conflict will be classified as 'not relevant'
+in the conflicts overview.
+
+=item - B<Only check within next ... days:>
+
+Here you can specify the day range that should be used for the conflict
+check.
+
+=item - B<After each timer programming:>
+
+This performs a conflict check after each manual timer programming and - if
+the new/modified timer is involved in a conflict - pops up an OSD message
+about it.
+
+=item - B<"When a recording starts:>
+
+Set this to 'yes' if the conflict check should be performed when a recording starts.
+In the case of a conlfict you get immediately a message that informs you about it.
+The message is only displayed if the conflict is within the next 2 hours.
+
+=item - B<After each search timer update:>
+
+Specify here if you want to have a conflict check after each search timer
+update. If set to 'No':
+
+=item - B<every ... minutes:>
+
+performs a conflict check in the background every ... minutes and informs
+about relevant conflicts via OSD. Set this to '0' to disable this feature.
+
+=item - B<if conflicts within next ... minutes:>
+
+=over 4
+
+=item - B<every ... minutes:>
+
+if you like to have a more frequent check and OSD notification when a
+conflict appears within the given time, use this feature.
+
+=back
+
+=item - B<Avoid notification when replaying:>
+
+Set this to 'yes' if the don't want to get OSD messages about conflicts if
+you currently replay something. Nevertheless messages will be displayed if
+ the first upcoming conflict is within the next 2 hours.
+
+=back
+
+Also have a look at C<epgsearch(4)>, section 'Working with the timer conflict menu'.
+
+=head3 1.4.7 Email notification
+
+Please make sure, that 'sendEmail.pl' is in the path of your executables and
+that the 'epgsearchupdmail.templ' and 'epgsearchconflmail.templ' exists in
+epgsearch's configurations directory!
+
+=over 4
+
+=item - B<Search timer notification:>
+
+Enable this, if you want to get an email notification, when the search timer
+background thread has
+
+ - created a new timer
+ - modified an existing timer
+ - deleted a timer, that was void because of EPG changes or other user
+ actions.
+
+(Also requires 'Use search timers' in the search timer setup to be activated.)
+
+=item - B<Timer conflict notification:>
+
+Enable this, if you want to get an email notification about timer
+conflicts. The notification will only include 'relevant' conflicts as
+specified in the timer conflict setup. epgsearch will always send a new
+notification if there is any change in the current conflicts.
+
+(Also requires 'After each search timer update' or 'every ... minutes' in the
+conflict check setup to be activated.)
+
+=item - B<Send to:>
+
+The mail adress of the recipient. Note: Some providers (like Arcor) don't
+allow the same adresse for sender and recipient.
+
+=item - B<Mail method:>
+
+You can choose between:
+
+ - sendEmail.pl: this is a simply script shipped with epgsearch, that allows
+ mail delivery also on systems without a configured mail server. Please
+ copy it to your $PATH
+ - sendmail: requires a properly configured mail system
+
+=item - B<Email address:>
+
+Your full(!) email account address to be used for sending the mail.
+
+=item - B<SMTP server:>
+
+The name of your SMTP server to be used for sending the mails.
+
+=item - B<Use SMTP authentication:>
+
+Select 'yes' if your account needs authentication to send mails.
+
+=item - B<AUTH user:>
+
+Specify the accounts username if your account needs authentication.
+
+=item - B<AUTH password:>
+
+Specify the accounts password if your account needs authentication.
+Note: The password is saved as plain text. You have to make sure on your own
+that your system is safe and no VDR configurations files are visible to non
+authorized persons.
+
+=back
+
+After the account setup, check if it works with 'Test'. If you are
+using 'sendEmail.pl' for mail delivery, there should be something like 'Email
+sent successfully' at the end of the test output. The test function is not
+available for method 'sendmail'.
+
+Also have a look at C<epgsearch(4)>, section 'Email notifications'.
+
+=head1 2. Search timers
+
+This is quite the same as VDRAdmin's auto-timers, but needs no external
+software. When you create a search, you can give it an option to use
+it as search timer. Now the plugin scans EPG entries in certain update
+intervals (->setup) in the background and creates timers if there
+are matching entries. If you don't like to get a new timer, but only
+want to be informed about the event set 'Announce only (no timer)' to
+yes.
+Since these search timers are quite useful for serials, you can set
+the option 'serial recording' in a search, which creates timers
+whose recordings are stored in a folder with the serials name and
+whose entries are named with the episode name. If there is no episode
+name, the plugin names the recording with a date/time string.
+
+To use search timers, you also have to activate them in the plugins setup.
+Also edit the SVDRP port, if you are not using the default 2001.
+
+If you want to trigger a background scan manually simply
+
+touch /etc/vdr/plugins/epgsearch/.epgsearchupdate
+
+This can also be part of your shutdown script. (Add here a sleep
+afterwards to give the plugin the time to finish the scan.)
+
+For more info about searchtimers please refer to C<epgsearch(4)>,
+'Description of the search process' and 'How do Search Timers work?'
+
+=head2 2.1 'Avoid repeats' - internals
+
+This section explains the feature 'Avoid repeats' for a search timer.
+Sometimes one cannot avoid double recordings of an event only by
+setting the corresponding search criterions.
+
+Therefore the feature 'avoid repeats' tries to check before creating a
+timer, if the same event was already recorded in the past or if there
+is a timer that records the same event. If so, there will be no new
+timer for the event.
+
+=head2 2.2 How do we compare two events?
+
+To check if two events are the same there are many possible settings
+for a search timer. You can choose the title, subtitle, description or
+extended EPG categories within the description of an event to be
+compared with the elements of another event.
+
+This comparison is always done case-sensitive and for the whole
+term. But the description of an event makes an exception of this.
+First all text within the description will be truncated that looks
+like an extended category entry, e.g. 'Rating: tip'. An extended
+category entry is a line of text beginning with max. 40 signs,
+followed by ':' and ending with max. 60 further signs.
+The reason for this cutting is that some categories like the rating of
+an event are not part of the description of the repeat of the same
+event.
+
+The remaining text will now be compared by length. If the difference
+is bigger then 90%, then we rate the description of the two events as
+different. If not, we apply the Levinsthein-Distance-Algorithm (LD),
+which makes a fuzzy text comparison. We accept the description of the
+events as equal, if LD returns a match of more then 90%.
+Since LD is quite runtime intensive (O(mn)), you should not choose
+'compare description' as the only comparison criterion, but combine
+it always with other criterions.
+
+=head2 2.3 How and when do we compare?
+
+As already mentioned each search timer update checks search timers
+with this feature for recordings in the past or an already existing
+timer for the same event.
+
+To remember past recordings epgsearch stores their info in the file
+epgsearchdone.data. You can have a look at the contents of this file
+calling 'show recordings done' in the 'actions' of the searches menu.
+This file only stores info about recordings that are complete,
+i.e. that started and stopped just in time. So a broken recording will
+not be stored in this file and epgsearch will automatically try to
+record the next repeat, if there is any.
+
+B<How to use it?>
+
+As you see, the whole feature depends on the quality of the EPG.
+After creating such a search timer, you should first check if it does
+what is intended. Therefore the menu of search results has an
+additional mode for the key 'blue' named 'Timer preview'. Here you can
+see, what timers the next update would create. Existing timers are
+labeled with 'T', future timers with 'P'.
+
+Hint: If the programming results in a conflict simply disable the
+conflicting timer in the timers menu. The next search timer update,
+will try to program a different timer for the same event, if it exists.
+
+B<When it works not correctly :-)>
+
+To get a better control of the programming or not-programming of the
+timers when using this feature a log file was introduced. When starting
+epgsearch with the command line option '-v n' where n is the log level
+than you get additional info in the file epgsearch.log. Available log
+levels are 0 (no logging) to 3 (extended logging). See also the manual
+for the command line options.
+
+=head1 3. Usage from other plugins or scripts
+
+See C<epgsearch(4)>.
+
+=head1 4. Using extended EPG info
+
+Some EPG providers deliver additional EPG information like the type of
+event, the video and audio format, cast,...
+
+Using tvm2vdr or epg4vdr you can import this into vdr.
+To use this information with search timers one has to configure it
+with the file epgsearchcats.conf in epgsearchs config directory. The
+format of the file is as follows:
+
+ ID|category name|name in menu|values separated by ','(option)|search mode(option)
+
+ - 'ID' should be a unique positive integer
+ (changing the id later on will force you to re-edit your search timers!)
+ - 'category name' is the name as delivered by the EPG provider, e.g. 'Genre'
+ - 'name in menu' is the name displayed in epgsearch.
+ - 'values' is an optional list of possible values
+ - 'search mode' specifies the search mode:
+ text comparison:
+ 0 - the whole term must appear as substring
+ 1 - all single terms (delimiters are ',', ';', '|' or '~')
+ must exist as substrings. This is the default search mode.
+ 2 - at least one term (delimiters are ',', ';', '|' or '~')
+ must exist as substring.
+ 3 - matches exactly
+ 4 - regular expression
+ numerical comparison:
+ 10 - less
+ 11 - less or equal
+ 12 - greater
+ 13 - greater or equal
+ 14 - equal
+ 15 - not equal
+
+Sample files for epgsearchcats.conf are delivered with the plugin in the
+directory 'conf'.
+
+Simply copy the one that fits for you to epgsearchs configurations directory
+filename epgsearchcats.conf and then have a look to the search timers
+edit menu (after a restart of VDR).
+
+Since setting up a new epgsearchcats.conf is a lot of work, I've added
+a small tool 'createcats', that makes the biggest part of the job. It
+should have been compiled with the plugin and exists in the sources
+directory.
+
+See C<createcats(1)> for information about how to use it.
+
+Internals: epgsearch scans the summary of an event for the category
+name followed by ': ' for all categories that have a corresponding
+value set in the search timer. The search is case sensitive regarding
+the category name as also the value.
+
+=head1 5. Replacing the standard schedule menu
+
+To use this plugin as a replacement for the default green key, simply
+put the line
+
+ Green @epgsearch
+
+in your keymacros.conf. If you don't like to get another plugin entry
+in your main menu, first hide it by setup. Then you could use my
+launcher-plugin and put the line
+
+ Green @launcher x
+
+in your keymacros.conf, where x is the position of the Epgsearch
+plugin within launchers menu listing.
+
+Attention: Hiding the plugin without using the launcher plugin or
+other patches that enable calling hidden plugins will show the standard
+schedules menu when you press the green key. This is not needed
+anymore after VDR >= 1.3.32.
+
+Another approach is using a patch to VDR that replaces vdr's standard
+schedule menu with epgsearch (vdr-replace-schedulemenu.diff.gz in the
+patches subdir, thanks to the author Uwe/egal@vdrportal). When using
+this patch the entry should look like
+
+ Gree Schedule
+
+This patch is already included in some patch collections, like the
+Bigpatch.
+
+=head1 6. Add-ons
+
+epgsearch delivers 2 'mini'-plugins. Both require an installed epgsearch (but
+epgsearch can be hided in the main menu):
+
+=over 4
+
+=item - B<epgsearchonly:>
+
+For those who only want to use the search feature and/or
+search timers or simply want to have a separate main menu entry for the
+search feature. This plugin creates a main menu entry 'Search' which calls
+epgsearch search menu.
+Activation in VDR start script with "-Pepgsearchonly".
+
+=item - B<conflictcheckonly:>
+
+The timer conflict check can also have its own main menu
+entry which displays epgsearch conflict overview menu. It has a setup option
+to display an information about the last check directly in its main menu entry.
+Activation in VDR start script with "-Pconflictcheckonly".
+
+=back
+
+Have fun!
+
+Christian Wieninger
+
+=head1 Advanced description
+
+See C<epgsearch(4)> or read online
+
+L<http://winni.vdr-developer.org/epgsearch/README.DE>
+
+L<http://winni.vdr-developer.org/epgsearch/README>
+
+L<http://winni.vdr-developer.org/epgsearch/MANUAL>
+
+=head1 SEE ALSO
+
+C<epgsearch.conf(5)>, C<epgsearchcats.conf(5)>, C<epgsearchcmds.conf(5)>, C<epgsearchdirs.conf(5)>, C<epgsearchmenu.conf(5)>, C<epgsearchuservars.conf(5)>, C<epgsearchdone.data(5)>, C<epgsearchswitchtimer.conf(5)>, C<epgsearchblacklists.conf(5)>, C<epgsearchchangrps.conf(5)>
+
+=head1 FILES
+
+F<epgsearch.conf>
+
+Searchtimers. See C<epgsearch.conf(5)>.
+
+F<epgsearchcats.conf>
+
+Categories, advanced epg. See C<epgsearchcats.conf(5)>.
+
+F<epgsearchcmds.conf>
+
+EPG-commands, like the commands in commands.conf. See C<epgsearchcmds.conf(5)>.
+
+F<epgsearchdirs.conf>
+
+Pre-defined patches which can be selected while editing an searchtimer. See C<epgsearchdirs.conf(5)>.
+
+F<epgsearchmenu.conf>
+
+Configuration of the OSD menu layout. See C<epgsearchmenu.conf(5)>.
+
+F<epgsearchuservars.conf>
+
+User defined variables. See C<epgsearchuservars.conf(5)>.
+
+F<epgsearchdone.data>
+
+The done-data. See C<epgsearchdone.data(5)>.
+
+F<epgsearchswitchtimers.conf>
+
+The switchtimers. See C<epgsearchswitchtimer.conf(5)>.
+
+F<epgsearchblacklists.conf>
+
+The blacklist. See C<epgsearchblacklists.conf(5)>.
+
+F<epgsearchchangrps.conf>
+
+The channelgroups. See C<epgsearchchangrps.conf(5)>.
+
+F<epgsearchtemplates.conf>
+
+Templates for searchtimers. See C<epgsearchtemplates.conf(5)>.
+
+=head1 AUTHOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 REPORT BUGS
+
+Bugreports (german):
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailinglist:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LICENSE
+
+Copyright (C) 2004-2007 Christian Wieninger
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+The author can be reached at cwieninger@gmx.de
+
+The project's page is at http://winni.vdr-developer.org/epgsearch
+
+The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.
diff --git a/doc-src/en/epgsearch.4.txt b/doc-src/en/epgsearch.4.txt
new file mode 100644
index 0000000..58fa4c5
--- /dev/null
+++ b/doc-src/en/epgsearch.4.txt
@@ -0,0 +1,880 @@
+=head1 NAME
+
+F<epgsearch> - Searchtimer and replacement of the VDR program menu
+
+=head1 OVERVIEW
+
+Since the README get bigger and bigger this man page shall be used
+to explain some things in detail. So it's not really a manual, but an
+extended README.
+
+=head1 CONTENT
+
+ 1. Using variables in the directory entry of a search timer
+ 2. The format of epgsearch.conf
+ 3. Description of the search process
+ 4. How do Search Timers work?
+ 5. How to trigger a search timer update?
+ 6. The sources of the 'Select directory' menu
+ 7. Language dependent commands for EPG
+ 8. Usage from other plugins or scripts
+ 9. SVDRP interface
+ 10. Customizing the EPG menus
+ 11. Working with the timer conflict menu
+ 12. User defined variables
+ 13. Email notifications
+
+=head1 1. Using variables in the directory entry of a search timer
+
+If you are using extended EPG information, you can use variables as
+part of a directory entry of a search timer. These variables always have
+the form '%variable%'. The name of a variable corresponds with the
+internal name of an extended EPG info, as specified in the file
+epgsearchcats.conf (samples can be found in subdirectory 'conf').
+Example:
+
+ 1|Category|Kategorie|Information,Kinder,Musik,Serie,Show,Spielfilm,Sport|3
+
+The category with ID 1 has the internal name 'Category'. So you could
+use it with '%Category%'. The names are not case sensitive. Sample
+directory entries could look like this:
+
+ My Movies~%Category%
+ Childrens Movies~%category%
+ %CATEGORY%~%genre%
+
+There are also three other variables: %Title%, %Subtitle% and %Channel%.
+If you don't use %Title%, the title is always automatically
+appended to the directory entry, when a timer will be created. If you
+set 'serial recording' to 'yes' in your search timer then also the
+subtitle will be automatically appended. So the directory entry
+
+ %Category%~%Genre%~%Title%~%Subtitle%
+
+is the same as
+
+ %Category%~%Genre%
+ (with 'serial recording' set to 'yes').
+
+The %Channel% variable gets replaced with the name of the channel.
+
+Attention: Automatically appending title and subtitle will not be
+done, if you use the variables %Title% or %Subtitle% in the directory
+entry. This allows to form directory entries like this one:
+
+ %Category%~%Genre%~%Title%~%Episode%~%Subtitle%
+
+There is also another variable %search.query% that will be replaced with the
+query of the search timer.
+
+See also C<epgsearchuservars.conf(5)>.
+
+=head1 2. The format of epgsearch.conf
+
+Due to some new features there was a change in the format. The format
+is now signed with a comment in the first line. The field delimiter
+is B<':'>:
+
+ 1 - unique search timer id
+ 2 - the search term
+ 3 - use time? 0/1
+ 4 - start time in HHMM
+ 5 - stop time in HHMM
+ 6 - use channel? 0 = no, 1 = Interval, 2 = Channel group, 3 = FTA only
+ 7 - if 'use channel' = 1 then channel id[|channel id] in vdr format,
+ one entry or min/max entry separated with |, if 'use channel' = 2
+ then the channel group name
+ 8 - match case? 0/1
+ 9 - search mode:
+ 0 - the whole term must appear as substring
+ 1 - all single terms (delimiters are blank,',', ';', '|' or '~')
+ must exist as substrings.
+ 2 - at least one term (delimiters are blank, ',', ';', '|' or '~')
+ must exist as substring.
+ 3 - matches exactly
+ 4 - regular expression
+ 5 - fuzzy searching (specify tolerance in parameter 42, not available
+ for EPG categories)
+ 10 - use title? 0/1
+ 11 - use subtitle? 0/1
+ 12 - use description? 0/1
+ 13 - use duration? 0/1
+ 14 - min duration in minutes
+ 15 - max duration in minutes
+ 16 - use as search timer? 0/1/2 (with 2 one can specify time margins in
+ parameter 48/49 where the search timer is active)
+ 17 - use day of week? 0/1
+ 18 - day of week (0 = Sunday, 1 = Monday...;
+ -1 Sunday, -2 Monday, -4 Tuesday, ...; -7 Sun, Mon, Tue)
+ 19 - use series recording? 0/1
+ 20 - directory for recording
+ 21 - priority of recording
+ 22 - lifetime of recording
+ 23 - time margin for start in minutes
+ 24 - time margin for stop in minutes
+ 25 - use VPS? 0/1
+ 26 - action:
+ 0 = create a timer
+ 1 = announce only via OSD (no timer)
+ 2 = switch only (no timer)
+ 27 - use extended EPG info? 0/1
+ 28 - extended EPG info values. This entry has the following format
+ (delimiter is '|' for each category, '#' separates id and value):
+ 1 - the id of the extended EPG info category as specified in
+ epgsearchcats.conf
+ 2 - the value of the extended EPG info category
+ (a ':' will be translated to "!^colon^!", e.g. in "16:9")
+ 29 - avoid repeats? 0/1
+ 30 - allowed repeats
+ 31 - compare title when testing for a repeat? 0/1
+ 32 - compare subtitle when testing for a repeat? 0/1
+ 33 - compare description when testing for a repeat? 0/1
+ 34 - compare extended EPG info when testing for a repeat?
+ This entry is a bit field of the category IDs.
+ 35 - accepts repeats only within x days
+ 36 - delete a recording automatically after x days
+ 37 - but keep this number of recordings anyway
+ 38 - minutes before switch (if action = 2)
+ 39 - pause if x recordings already exist
+ 40 - blacklist usage mode (0 none, 1 selection, 2 all)
+ 41 - selected blacklist IDs separated with '|'
+ 42 - fuzzy tolerance value for fuzzy searching
+ 43 - use this search in favorites menu (0 no, 1 yes)
+ 44 - number of the search menu template to use (only available if multiple
+ search result templates are defined in epgsearchmenu.conf)
+ 45 - auto deletion mode (0 don't delete search timer, 1 delete after given
+ count of recordings, 2 delete after given days after first recording)
+ 46 - count of recordings after which to delete the search timer
+ 47 - count of days after the first recording after which to delete the search
+ timer
+ 48 - first day where the search timer is active (see parameter 16)
+ 49 - last day where the search timer is active (see parameter 16)
+ 50 - ignore missing EPG categories? 0/1
+ 51 - unmute sound if off when used as switch timer
+
+A ':' in the search term or the directory entry will be translated in
+a '|'. If a '|' exists in the search term, e.g. when using regular
+expressions, it will be translated to "!^pipe^!" (I know it's ugly ;-))
+
+See also C<epgsearch.conf(5)>.
+
+=head1 3. Description of the search process
+
+First, for each broadcasting a search text divided by '~' is created,
+depending on the settings of 'Use title', 'Use subtitle' and 'Use
+description':
+
+ title~subtitle~description
+
+If "Match case" is not set, the search text and the search term are
+transformed to lower case.
+Now depending on the search mode, the search term will be looked up in
+the search text:
+
+=over 4
+
+=item - 'Phrase' matches
+
+if the search term is found anywhere in the search text.
+
+=item - 'at least one word', 'all words'
+
+first the search term will be split in single words. Delimiters are a
+blank and the characters ',' ';' '|' '~'.
+
+Then we check if at least one or all words appear in the search text.
+
+=item - 'match exactly'
+
+matches if search term and search text are identical.
+
+=item - 'regular expression'
+
+the search is done with a regular expression. You don't need a leading
+and trailing '/' in your search term.
+Two standards of regular expression are supported: extended
+POSIX and Perl compatible regular expressions (PCRE) (see F<INSTALL>).
+
+=back
+
+If the search was successful until now, the other criterions (start
+time, duration, week day) are checked.
+
+
+=head1 4. How do Search Timers work?
+
+With each update, the plugin searches for new matches of your search
+timers. If a new match is found then a new timer is created. For
+serial recordings, the subtitle is appended to the recording
+directory. Many providers deliver the subtitle just 1-2 days before
+the event. The plugin uses then a date/time string for the subtitle,
+but replaces this one later if the subtitle is present.
+
+Start and end times of a broadcasting often vary a little bit. To avoid
+getting many different timers for the same event, the plugin
+checks before adding a new timer, if there is one, that has start and
+end times which only differ by a maximum of 10 minutes (or the events
+duration if this is less then 10 minutes). If so, the present timer is
+modified, else a new timer is created. If the timer was set to inactive
+there will be no update. Also manually corrected priority or lifetime
+will not be changed when updating.
+
+If you have set 'Announce only (no timer)' to yes, no timer is
+created. Instead you get an OSD message about the event. This message
+is displayed at each scan, but only if there is no timer for the event.
+
+=head1 5. How to trigger a search timer update?
+
+the update of search timers runs in its own thread. There are several
+ways to trigger it:
+
+=over 4
+
+=item - automatically
+
+after VDR starts there is always an update (after a
+few seconds). After this, the setup option 'Update interval' tells
+epgsearch when the next update should be done repeatedly (in minutes).
+
+=item - manually extern
+
+the thread observes the file '.epgsearchupdate' in the
+plugins config directory. When you
+
+ touch /path_to_file/.epgsearchupdate
+
+this will also trigger an update. So this is a simple solution to
+make an update e.g. by a script.
+
+=item - manually intern
+
+calling actions or pressing '3' in the menu of searches asks also
+for an update.
+
+=item - from other plugins
+
+=back
+
+there's a service
+'Epgsearch-updatesearchtimers-v1.0' that can be used with the service
+interface of VDR from other plugins with the option to inform via
+OSD when the update has finished
+
+=head1 6. The sources of the 'Select directory' menu
+
+This menu displays directories, that can be used for search timers or
+ordinary timers. The items displayed are read from the following
+sources:
+
+ * current recording directories
+ * current timer directories
+ * directories used in search timers
+ * directories specified in F<epgsearchdirs.conf>,
+ see C<epgsearchdirs.con(5)>
+
+The menu merges theses directories and displays only distinct
+directories. With key 'yellow' one can change the depth of the
+directories shown. If there are items, that contain category variables
+like '%genre%', these entries are always shown before any other
+directories. They are also not level dependent, but are always shown
+with their full directory.
+
+If this menu is called from the timer edit menu and an item is
+selected that contains the variables "%title%" or "%subtitle" then the
+'file' item of the timer gets cleared, since title or subtitle already
+exist in the 'directory' item.
+This list can also be accessed via the SVDRP command 'LSRD'.
+
+=head1 7. Language dependent commands for EPG
+
+If you like to have a language dependent list of commands simply
+translate your present F<epgsearchcmds.conf> to your preferred OSD
+language and store it with the filename epgsearchcmds-XXX.conf, where
+XXX is the language code from i18n.c:
+
+ { "eng,dos",
+ "deu,ger",
+ "slv",
+ "ita",
+ "dut,nla,nld",
+ "por",
+ "fra,fre",
+ "nor",
+ "fin,smi",
+ "pol",
+ "esl,spa",
+ "ell,gre",
+ "sve,swe",
+ "rom,rum",
+ "hun",
+ "cat,cln",
+ "rus",
+ "hrv",
+ "est",
+ "dan",
+ }
+
+If there are more codes for one language (e.g. "deu,ger") choose
+one of them. If there is no language dependent file, epgsearch loads
+the file F<epgsearchcmds.conf>.
+
+See also C<epgsearchcmds.conf(5)>.
+
+=head1 8. Usage from other plugins or scripts
+
+Searching the EPG and other functionality can be used by other plugins
+or scripts. There are two approaches:
+
+=head2 8.1. File-based (intended for use in scripts)
+
+Therefore simply create the file '.epgsearchrc' in the plugins config
+directory with the following lines in it:
+
+ Search=your search term
+ Searchmode=x // 0=phrase, 1=and, 2=or, 3=regular expression
+ ChannelNr=x // add this line, to search on a specific channel
+ UseTitle=x // 1(default) or 0
+ UseSubtitle=x // 1(default) or 0
+ UseDescr=x // 1(default) or 0
+
+Then call Epgsearch via svdrpsend.pl (you must have assigned a key
+to it), e.g.
+
+ svdrpsend.pl HITK green
+
+At startup Epgsearch will look for this file and give you the
+search results for your search, if it exists. After that the file is
+removed.
+
+A sample script F<recrep.sh>, that searches for the repeats of a recording
+exists in the scripts subdirectory of Epgsearch.
+
+=head2 8.2. via Plugin-Interface (intended for use in plugins)
+
+A plugin can directly call two functions of epgsearch with only some
+lines of source code:
+
+ - searching the EPG for some criteria and display the result list
+ - extended timer edit menu
+
+I have added a quick and dirty dummy plugin
+(source/vdr-epgsearchclient-0.0.1.tgz), that demonstrates the usage.
+
+=head1 9. SVDRP interface
+
+epgsearch implements a SVDRP interface, that can be accessed for
+example like this
+
+ svdrpsend.pl PLUG epgsearch LSTS
+
+the following commands are available:
+
+=head2 search management:
+
+ * 'LSTS [ID]' to list all searches, or the one with the passed ID
+ (format is the same as epgsearch.conf)
+ * 'NEWS <settings>' to add a new search
+ REMARK: the value of element ID is ignored. epgsearch will always
+ assign the next free ID
+ * 'DELS <ID>' to delete the search with ID
+ * 'EDIS <settings>' to modify an existing search
+ * 'UPDS [OSD]' to update the search timers. Passing the optional keyword
+ 'OSD' pops up an OSD message after the update has finished.
+ * 'MODS ID ON|OFF' turns on/off the option 'Use as search timer'.
+ * 'UPDD' to reload the file epgsearchdone.data, e.g. after an
+ external tool has modified it.
+ * 'SETS <ON|OFF>' to temporarily activate or cancel the search timer background
+ thread.
+ * 'FIND <settings>' for searching the EPG
+ input is the same as with 'NEWS'. output is a list of found events formatted
+ as 'NEWT' lines. So they can be immediately used to create a new timer for
+ an event.
+ * 'QRYS < ID(s) >' to get the results for a search with the given
+ ID. Multiple IDs can also be passed and have to be separated with '|'.
+ The results are formatted like this:
+
+ search ID : // the ID of the corresponding search timer
+ event ID : // VDR event ID
+ title : // event title, any ':' will be converted to '|'
+ episode name : // event short text, any ':' will be converted to '|'
+ event start : // event start in seconds since 1970-01-01
+ event stop : // event stop in seconds since 1970-01-01
+ channel : // channel ID in VDR's internal representation (e.g. 'S19.2E-1-1101-28106')
+ timer start : // timer start in seconds since 1970-01-01 (only valid if timer flag is > 0)
+ timer stop : // timer stop in seconds since 1970-01-01 (only valid if timer flag is > 0)
+ timer file : // timer file (only valid if timer flag is > 0)
+ timer flag : // 0 = no timer needed, 1 = has timer, 2 timer planned for next update)
+ * 'QRYS <settings>' to get the results for a search with the given search
+ settings.
+ * 'QRYF [hours]' to get the results for the favorites menu, see QRYS for
+ result format. The optional parameter specifies the number of hours to
+ evaluate and defaults to 24h.
+
+=head2 channel group management:
+
+ * 'LSTC [channel group name]'
+ list all channel groups or if given the one with name 'group name'
+ * 'NEWC <channel group settings>'
+ create a new channel group, format as in epgsearchchangrps.conf
+ * 'EDIC <channel group settings>'
+ modify an existing channel group, format as in epgsearchchangrps.conf
+ * 'DELC <channel group name>'
+ delete an existing channel group
+ * 'RENC <old channel group name|new channel group name>'
+ rename an existing channel group
+
+=head2 blacklist management:
+
+ * 'LSTB [ID]' to list all blacklists, or the one with the passed ID
+ (format is the same as epgsearchblacklists.conf)
+ * 'NEWB <settings>' to add a new blacklist
+ REMARK: the value of element ID is ignored. epgsearch will always
+ assign the next free ID
+ * 'DELB <ID>' to delete the blacklist with ID
+ * 'EDIB <settings>' to modify an existing blacklist
+
+=head2 search template management:
+
+ * 'LSTT [ID]' to list all search templates, or the one with the passed ID
+ (format is the same as epgsearch.conf)
+ * 'NEWT <settings>' to add a new search template
+ REMARK: the value of element ID is ignored. epgsearch will always
+ assign the next free ID
+ * 'DELT <ID>' to delete the search template with ID
+ * 'EDIT <settings>' to modify an existing search template
+ * 'DEFT [ID]' returns the ID of the default search template. When passing an
+ ID it activates the corresponding template as default.
+
+=head2 extended EPG categories:
+
+ * 'LSTE [ID] to get the extended EPG categories defined in epgsearchcats.conf
+ or the one with the given ID. (format is the same as epgsearchcats.conf)
+
+=head2 misc:
+
+ * 'SETP [option]' returns the current value of the given setup option or a
+ list of all options with their current values.
+ The following options can be accessed:
+ - ShowFavoritesMenu
+ - UseSearchTimers
+
+=head2 timer conflicts:
+
+ * 'LSCC [REL]' returns the current timer conflicts. With the option 'REL' only
+ relevant conflicts are listed. The result list looks like this for example
+ when we have 2 timer conflicts at one time:
+
+ 1190232780:152|30|50#152#45:45|10|50#152#45
+
+ '1190232780' is the time of the conflict in seconds since 1970-01-01. It's
+ followed by list of timers that have a conflict at this time:
+
+ '152|30|50#152#45' is the description of the first conflicting timer. Here:
+
+ '152' is VDR's timer id of this timer as returned from VDR's LSTT command
+ '30' is the percentage of recording that would be done (0...100)
+ '50#152#45' is the list of concurrent timers at this conflict
+
+ '45|10|50#152#45' describes the next conflict
+
+
+=head1 10. Customizing the EPG menus
+
+The file F<epgsearchmenu.conf> in your plugins config directory is used to store
+the entries for customizing the EPG menus. You specify the look of each menu
+(What's on now, What's on next, What's on at ..., Schedule, Search results,
+Favorites) with a separate line. Here's a sample:
+
+ MenuWhatsOnNow=%chnr%:3|%progrt2s%:5| %time% %t_status%:8|%category%:6| %title% ~ %subtitle%:35
+ MenuWhatsOnNext=%chnr%:3|%time% %t_status%:8|%category%:8| %title% ~ %subtitle%:35
+ MenuWhatsOnElse=%chnr%:3|%time% %t_status%:8|%category%:8| %title% ~ %subtitle%:35
+ MenuSchedule=%time% %t_status%:8|%genre%:14| %title% ~ %subtitle%:35
+ MenuSearchResults=%chnr%:3|%datesh% %time% %t_status%:14|%genre%:8| %title%%colon% %subtitle%:35
+ MenuFavorites=%chnr%:3|%time%:6|%timespan%:7|%t_status%:14|%genre%:8| %title%%colon%%subtitle%:35
+
+E.g. the entry 'MenuWhatsOnNow' tells epgsearch how you would like to build a
+line for the menu 'What's on now'. This would create a menu line starting with
+the channel number, followed by a progress bar in text2skin style, a space of
+one char, the start time, the timer status, the EPG category (like "movie")
+and finally the title and subtitle.
+
+The values for MenuWhatsOnNext, MenuWhatsOnElse, MenuSchedule,
+MenuSearchResults, MenuFavorites specify the menu 'What's on next', 'What's on
+at ...', 'Schedule', 'Search results' and 'Favorites' respectively. If you do
+not specify one entry, epgsearch uses it's default menu look.
+
+'MenuSearchResults' has something special: If you want to have different
+layouts for your search results depending on the search, you can use more then
+one menu template. Simply define e.g. an additional
+
+ MenuSearchResultsTip of the Day=%chnr%:3|%time_w%:4|%t_status%:3|%genre%:10|%title%%colon% %subtitle%:35
+
+This will produce an additional menu item "Result menu layout" in the edit
+menu of a search where you can choose between the default menu template and your
+own templates. In the example above you will get "Tip of the Day" as selection
+entry, since epgsearch simply cuts the leading "MenuSearchResults". When you
+display the search results the chosen template will be used instead of the
+default one.
+
+The following variables exist:
+
+ %time% - start time in format HH:MM
+ %timeend% - end time in format HH:MM
+ %date% - start date in format TT.MM.YY
+ %datesh% - start date in format TT.MM.
+ %time_w% - weekday name
+ %time_d% - start day in format TT
+ %time_lng% - start time in seconds since 1970-01-01 00:00
+ %timespan% - timespan from now to the beginning of an event, e.g. 'in 15m'
+ or the time an event is already running, e.g. '10m'.
+ %length% - length in seconds
+ %title% - title
+ %subtitle% - subtitle
+ %summary% - summary
+ %htmlsummary% - summary, where all CR are replaced with '<br />'
+ %eventid% - numeric event ID
+ %t_status% - timer status ('T', 't', 'R')
+ %v_status% - VPS status
+ %r_status% - running status
+ %status% - complete status, the same as
+ '%t_status%%v_status%%r_status%'
+
+ %<epg-category>% - a value from the extended EPG categories, specified in
+ epgsearchcats.conf, like %genre% or %category%
+
+for the 'Whats on...' and 'Search results' menu there are also:
+
+ %chnr% - channel number
+ %chsh% - the short channel name (>=vdr-1.3.15)
+ %chlng% - the 'normal' channel name
+ %chdata% - VDR's internal channel representation (e.g. 'S19.2E-1-1101-28106')
+ %progr% - graphical progress bar (not for menu 'Search results')
+ %progrT2S% - progress bar in text2skin style (not for menu 'Search results')
+
+some indepent variables:
+
+ %colon% - the sign ':'
+ %datenow% - current date in format TT.MM.YY
+ %dateshnow% - current date in format TT.MM.
+ %timenow% - current time in format HH:MM
+ %videodir% - VDR video directory (e.g. /video)
+ %plugconfdir% - VDR plugin config directory (e.g. /etc/vdr/plugins)
+ %epgsearchdir% - epgsearchs config directory (e.g. /etc/vdr/plugins/epgsearch)
+
+The variables are not case sensitive. You can also use variables for extended
+EPG categories defined in F<epgsearchcats.conf> or use your own user defined
+variables defined in F<epgsearchuservars.conf>
+
+An entry consists of up to 6 tables separated with '|'. The last entry of
+each table should declare the table width in chars, separated with ':'.
+
+If you use a separator like '~', '-' or '#' to separate items like title or
+subtitle, e.g. %title% ~ %subtitle%, and the subtitle is empty, then epgsearch
+will try to fix this automatically to avoid a trailing separator.
+
+You should vary the tab width values to fit your needs, since the look often
+depends on the selected skin. epgsearchmenu.conf is not reloaded with every
+plugin call, since this is only useful when testing the conf file. To activate
+the permanent reload for testing your conf, pass the new start parameter '-r'
+or '--reloadmenuconf' in your runvdr.
+
+There's a sample F<epgsearchmenu.conf> in the subdirectory "conf". For a quick try
+copy it to your plugins config directory (e.g. /etc/vdr/plugins).
+
+To enable icons from WarEagleIcon-Patch simply put the line
+
+ WarEagleIcons=1
+
+to F<epgsearchmenu.conf>.
+
+NOTE: As long as there is a file epgsearchmenu.conf with an entry for a special
+menu, all setup settings regarding the look of this menu are ignored.
+
+See also C<epgsearchmenu.con(5)>.
+
+=head1 11. Working with the timer conflict menu
+
+If a conflict is detected within the periodic conflict background check you get
+an OSD message which informs you about it. Pressing 'Ok' you will get a menu
+that displays all relevant conflicts. You can manually call this menu in
+epgsearch in the menu 'Search/Actions'.
+
+Besides the relevant conflicts (relevance is controlled via the setup options
+of epgsearch) there may also be conflicts which are not classified as
+important. If so, you can press 'Show all' to get the complete list. The menu
+title always displays the number of relevant conflicts and the total number.
+
+The list displays first the time when a conflict appears and then all timers
+that will fail here. A timer entry consists of the channel number and its name
+followed by the timer priority and the percentage value that shows how much of
+the timer will be recorded. Finally the timer's file entry is displayed.
+
+When you select a timer entry and press 'Ok' or 'Details' you get a new menu
+which displays all concurrent timers. This menu allows you to resolve the
+conflict by
+
+ - searching a repeat for an event
+ - disabling a timer
+ - deleting a timer
+ - changing the timers start- or stop-time or its priority
+ - executing any other commands on this timer
+
+An entry of this menu consists of the sign '>' to indicate an active timer,
+the channel number, the start and stop time, the priority, the number of the
+device that will do the recording (or 'C' for conflict) and the timer's file
+entry. Pressing 'Ok' on a timer entry will show you its event description if
+present.
+
+If one returns from this menu to the conflict overview menu there will be an
+automatic update to see if a conflict was really resolved. Some changes to a
+timer (like modifying start/stop or deleting a timer) in the conflict details
+menu also cause an immediate return to the overview menu and produce an
+update.
+
+=head1 12. User defined variables
+
+You can create your own variables to be used in any place that supports
+variables, like the default recording directory for manually created timers,
+the recording directory of a search timer or in your customized EPG menus.
+Put them in the file F<epgsearchuservars.conf>.
+
+Variables looks like %Variablename%.
+
+"Variablename" can be consist of any alphanumerical character. Space
+and special characters are not allowed.
+
+The variable names are case-insensitive.
+
+Examples for possible names:
+
+ %Series% %DocuVar1% %ThemesSubtitleDate1%
+
+=head2 Assignment
+
+ %Series%=New series~Thriller
+
+The variable %Series% will be assigned with the string "New series~Thriller".
+
+Assignments are always strings. Spaces stay spaces.
+
+ %Path%=%Series%
+
+The variable %Path% gets the content of the variable %Series%.
+
+You can do nearly everything:
+
+ %Path%=%Serie%~Lost
+
+The variable %Path% contains now the string "New series~Thriller~Lost".
+
+=head2 Control structures
+
+You can use simple "if then else" constructions.
+
+These constructions cannot contain strings, only variables.
+Spaces are ignored.
+
+ %Foo%=Other
+
+ %Variable%=%Path% ? %Path% : %Foo%
+
+If %Path% is not empty, assign the content of %Path% to %Variable%,
+otherwise the content of %Foo%.
+
+"%Path% ?" means "not empty?". You can use other checks.
+
+ %Variable%=%Path%!=5 ? %Path% : %Foo%
+
+"%Path%!=5 ?" means "is %Path% equal 5?"
+
+You can also compare variables.
+
+ %Five%=5
+
+ %Variable%=%Path%!=%Five% ? %Path% : %Foo%
+
+Other possible checks:
+
+ == equal
+ != not equal
+
+=head2 Calling a system command
+
+You can call external commands. The returned string will be assigned
+to a variable
+
+ %uservar%=system(scriptname[, parameters])
+
+Calls the script "scriptname" with the parameters defined in the optional list
+of 'parameters'. This can be an arbitrary expression containing other user
+variables, but not again a system call or a conditional expression.
+
+Sample:
+
+ %myVar%=system(/usr/local/bin/myscript.sh, -t %title% -s %subtitle% -u %myOtherVar%)
+
+The script must return a string B<without> line break!
+
+If the script returns nothing, an empty string will be assigned to the
+Variable %Result%.
+
+=head2 Possible variables
+
+for a list of already builtin variables refer to the section "Customizing the EPG menus"
+Furthermore you can use every variable defined in F<epgsearchcats.conf>.
+
+See C<epgsearchcats.conf(5)>.
+
+=head2 EXAMPLES
+
+ # Weekday, Date, Time
+ %DateStr%=%time_w% %date% %time%
+
+ # Themes or Subtitle or Date
+ %ThemesSubtitleDate1%=%Subtitle% ? %Subtitle% : %DateStr%
+ %ThemesSubtitleDate%=%Themes% ? %Themes% : %ThemesSubtitleDate1%
+
+ # Calls this script to get a recording path
+ %DocuScript%=system(doku.pl, -t %Title% -s %Subtitle% -e %Episode% -th %Themes% -c %Category% -g %Genre%)
+ %Docu%=%DocuScript%
+
+=head1 13. Email notification
+
+If you want to get email notifications about timers added/modified/removed by
+the search timer thread or about timer conflicts, first copy the script
+'sendEmail.pl' to the place where your executables are (e.g. /usr/local/bin)
+and then configure your email account in the setup. Press 'Test' to check if
+it works. There should be something like 'Email successfully sent' at the end
+of the output.
+The content of the mails is defined by the files
+
+ - epgsearchupdmail.templ (for search timer update notifications)
+ - epgsearchconflmail.templ (for timer conflict notifications)
+
+You can find sample files in the 'conf' directory. Copy them to epgsearchs
+config directory (e.g. /etc/vdr/plugins/epgsearch).
+
+=head2 Customizing the notifications mails
+
+The content of the mails can be customized in many ways. You can use plain
+text or HTML (see the sample conf/epgsearchupdmail-html.templ). For an update
+mail you have to define the following sections:
+
+ - "subject" to be used as mail subject
+ - "mailbody" the body of the mail:
+ put '%update.newtimers%' in the place where the list of new timers should
+ appear. The same for %update.modtimers% and %update.deltimers% for the
+ list of changed or deleted timers.
+ - "timer" the description of one timer. This section is used to display one
+ timer within a timer list, e.g. in %update.newtimers%
+
+each section is enclosed in a pseudo XML tag.
+
+The following variables can be used in the section <mailbody>:
+
+ - %update.newtimers% - will be replaced with the list of new timers
+ created with this update. The timers are
+ displayed as defined in the section '<timer>'
+ - %update.countnewtimers% - the number of new timers
+ - %update.modtimers% - same as %update.newtimers% but for modified
+ timers.
+ - %update.countmodtimers% - the number of modified timers
+ - %update.deltimers% - same as %update.newtimers% but for deleted
+ timers. (Note: a deleted timer has eventually
+ no event assigned to it. So all event variables
+ within the timer section will be substituted to
+ an empty string.)
+ - %update.countdeltimers% - the number of deleted timers
+ - %colon% - the sign ':'
+ - %datenow% - current date in format TT.MM.YY
+ - %dateshnow% - current date in format TT.MM.
+ - %timenow% - current time in format HH:MM
+
+The following variables can be used in the section <timer>:
+
+ - %timer.date% - date of the timer
+ - %timer.start% - start time of the timer
+ - %timer.stop% - stop time of the timer
+ - %timer.file% - recording directory of the timer
+ - %timer.chnr% - channel number
+ - %timer.chsh% - short channel name
+ - %timer.chlng% - channel name
+ - %timer.search% - name of the search timer, that created the timer
+ - %timer.searchid% - id of the search timer, that created the timer
+ - any event variable (as in '10. Customizing the EPG menus')
+ - any extended EPG variable as defined in epgsearchcats.conf
+ - any user variable (as in '12. User defined variables')
+
+For a conflict notification mail the following sections exist:
+
+ - "subject" to be used as mail subject
+ - "mailbody" the body of the mail. Put %conflict.conflicts% in the place
+ where the list of conflict times should appear (Note: there can be more
+ than one timer conflict at the same time!). A conflict time uses the
+ section 'conflictsat' to display its content.
+ - "conflictsat" the description of one time where one or more conflicts
+ exists. Put %conflict.confltimers% in the place where the list of conflict
+ timers should appear.
+ - "confltimer" the description of one conflicting timer
+
+The following variables can be used in the section <mailbody>:
+
+ - %conflict.count% - complete number of timer conflicts
+ - %conflict.conflicts% - list of times with conflicting timers
+
+The following variables can be used in the section <conflictsat>:
+
+ - %conflict.date% - date of the conflict
+ - %conflict.time% - time of the conflict
+ - %conflict.confltimers% - list of conflicting timers for this time
+
+The section <conflicttimer> can use the same variables as the section <timer>
+in an update mail (see above).
+
+
+=head1 SEE ALSO
+
+C<epgsearch(1)>, C<epgsearch.conf(5)>, C<epgsearchuservars.con(5)>, C<epgsearchdirs.conf(5)>, C<epgsearchmenu.conf(5)>, C<epgsearchcmds.conf(5)>
+
+=head1 AUTHOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 REPORT BUGS
+
+Bug reports (german):
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailing list:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+
+=head1 COPYRIGHT and LICENSE
+
+Copyright (C) 2004-2007 Christian Wieninger
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+The author can be reached at cwieninger@gmx.de
+
+The project's page is at http://winni.vdr-developer.org/epgsearch
+
+The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.
+
+
+
diff --git a/doc-src/en/epgsearch.conf.5.txt b/doc-src/en/epgsearch.conf.5.txt
new file mode 100644
index 0000000..4299039
--- /dev/null
+++ b/doc-src/en/epgsearch.conf.5.txt
@@ -0,0 +1,145 @@
+=head1 NAME
+
+F<epgsearch.conf> - The searchtimers
+
+=head1 DESCRIPTION
+
+This file contains the searchtimers.
+
+Do not edit it manually, you should use SVDRP.
+
+=head1 SYNTAX
+
+Due to some new features there was a change in the format. The format
+is now signed with a comment in the first line. The field delimiter
+is B<':'>:
+
+ 1 - unique search timer id
+ 2 - the search term
+ 3 - use time? 0/1
+ 4 - start time in HHMM
+ 5 - stop time in HHMM
+ 6 - use channel? 0 = no, 1 = Interval, 2 = Channel group, 3 = FTA only
+ 7 - if 'use channel' = 1 then channel id[|channel id] in VDR format,
+ one entry or min/max entry separated with |, if 'use channel' = 2
+ then the channel group name
+ 8 - match case? 0/1
+ 9 - search mode:
+ 0 - the whole term must appear as substring
+ 1 - all single terms (delimiters are blank,',', ';', '|' or '~')
+ must exist as substrings.
+ 2 - at least one term (delimiters are blank, ',', ';', '|' or '~')
+ must exist as substring.
+ 3 - matches exactly
+ 4 - regular expression
+ 10 - use title? 0/1
+ 11 - use subtitle? 0/1
+ 12 - use description? 0/1
+ 13 - use duration? 0/1
+ 14 - min duration in minutes
+ 15 - max duration in minutes
+ 16 - use as search timer? 0/1
+ 17 - use day of week? 0/1
+ 18 - day of week (0 = Sunday, 1 = Monday...;
+ -1 Sunday, -2 Monday, -4 Tuesday, ...; -7 Sun, Mon, Tue)
+ 19 - use series recording? 0/1
+ 20 - directory for recording
+ 21 - priority of recording
+ 22 - lifetime of recording
+ 23 - time margin for start in minutes
+ 24 - time margin for stop in minutes
+ 25 - use VPS? 0/1
+ 26 - action:
+ 0 = create a timer
+ 1 = announce only via OSD (no timer)
+ 2 = switch only (no timer)
+ 27 - use extended EPG info? 0/1
+ 28 - extended EPG info values. This entry has the following format
+ (delimiter is '|' for each category, '#' separates id and value):
+ 1 - the id of the extended EPG info category as specified in
+ epgsearchcats.conf
+ 2 - the value of the extended EPG info category
+ (a ':' will be translated to "!^colon^!", e.g. in "16:9")
+ 29 - avoid repeats? 0/1
+ 30 - allowed repeats
+ 31 - compare title when testing for a repeat? 0/1
+ 32 - compare subtitle when testing for a repeat? 0/1
+ 33 - compare description when testing for a repeat? 0/1
+ 34 - compare extended EPG info when testing for a repeat?
+ This entry is a bit field of the category IDs.
+ 35 - accepts repeats only within x days
+ 36 - delete a recording automatically after x days
+ 37 - but keep this number of recordings anyway
+ 38 - minutes before switch (if action = 2)
+ 39 - pause if x recordings already exist
+ 40 - blacklist usage mode (0 none, 1 selection, 2 all)
+ 41 - selected blacklist IDs separated with '|'
+ 42 - fuzzy tolerance value for fuzzy searching
+ 43 - use this search in favorites menu (0 no, 1 yes)
+ 44 - id of a menu search template
+ 45 - auto deletion mode (0 don't delete search timer, 1 delete after given
+ count of recordings, 2 delete after given days after first recording)
+ 46 - count of recordings after which to delete the search timer
+ 47 - count of days after the first recording after which to delete the search
+ timer
+ 48 - first day where the search timer is active (see parameter 16)
+ 49 - last day where the search timer is active (see parameter 16)
+ 50 - ignore missing EPG categories? 0/1
+ 51 - unmute sound if off when used as switch timer
+
+A ':' in the search term or the directory entry will be translated in a
+'|'. If a '|' exists in the search term, e.g. when using regular
+expressions, it will be translated to "!^pipe^!" (I know it's ugly ;-))
+
+There's no need to fill all fields, only the first 11 fields must exist.
+
+
+=head1 EXAMPLE
+
+ #version 2 - DON'T TOUCH THIS!
+ 1:Kommissar Beck:0:::2:ÖffRecht:0:0:1:0:0:0:::1:0:0:1:%Category%~%Genre%:50:99:10:60:0:0:0::1:0:1:1:0:0:0:0:0
+ 2:* Sägebrecht:0:::2:Hauptsender:0:0:0:0:0:0:::0:0:0:0:%Category%~%Genre%:50:99:10:10:0:0:1:1#|2#|3#|4#|5#|6#Marianne Sägebrecht|7#|8#|9#|10#|11#|12#|13#:1:0:1:0:0:0:0:0:0
+
+=head1 SEE ALSO
+
+C<epgsearch(1)>
+
+=head1 AUTHOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 REPORT BUGS
+
+Bug reports (german):
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailing list:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LICENSE
+
+Copyright (C) 2004-2007 Christian Wieninger
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+The author can be reached at cwieninger@gmx.de
+
+The project's page is at http://winni.vdr-developer.org/epgsearch
+
+The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.
+
diff --git a/doc-src/en/epgsearchblacklists.conf.5.txt b/doc-src/en/epgsearchblacklists.conf.5.txt
new file mode 100644
index 0000000..43a752e
--- /dev/null
+++ b/doc-src/en/epgsearchblacklists.conf.5.txt
@@ -0,0 +1,71 @@
+=head1 NAME
+
+F<epgsearchblacklists.conf> - Blacklist
+
+=head1 DESCRIPTION
+
+You can create blacklists in epgsearch and use them in searchtimers.
+
+A blacklist entry is like a normal searchtimer which is saved in the file
+F<epgsearchblacklists.conf>.
+
+While editing an searchtimer you can select one ore more blacklist entries.
+
+=head2 USAGE
+
+Searchtimer "Action" use blacklist "Damme".
+
+Blacklist entry "Damme" searches "Damme"
+
+First the searchtimer searches all films with "Action".
+
+Then for each search result epgsearch will test if the result matches
+against "Damme". If so, the result will be dismissed.
+
+=head1 SYNTAX
+
+This file uses the same syntax as F<epgsearch.conf> except that theres no <use as searchtimer> field.
+So there's a shift by one field from this position. Because that, see C<epgsearch.conf(5)>.
+
+=head1 SEE ALSO
+
+C<epgsearch(1)>, C<epgsearch.conf(5)>
+
+=head1 AUTHOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 REPORT BUGS
+
+Bug reports (german):
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailing list:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LICENSE
+
+Copyright (C) 2004-2007 Christian Wieninger
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+The author can be reached at cwieninger@gmx.de
+
+The project's page is at http://winni.vdr-developer.org/epgsearch
+
+The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.
diff --git a/doc-src/en/epgsearchcats.conf.5.txt b/doc-src/en/epgsearchcats.conf.5.txt
new file mode 100644
index 0000000..08637b4
--- /dev/null
+++ b/doc-src/en/epgsearchcats.conf.5.txt
@@ -0,0 +1,133 @@
+=head1 NAME
+
+F<epgsearchcats.conf> - Configuration of the additional EPG information
+
+=head1 DESCRIPTION
+
+Some EPG providers deliver additional EPG information like the type of
+event, the video and audio format, cast,...
+
+Using tvm2vdr or epg4vdr you can import this into vdr. To use this
+information with search timers one has to configure it with the file
+epgsearchcats.conf in your plugins config directory.
+
+Sample files for F<epgsearchcats.conf> are delivered with the plugin in
+the directory 'conf'.
+
+Simply copy the one that fits for you to your plugins config directory with
+filename epgsearchcats.conf and then have a look to the search timers
+edit menu (after a restart of VDR).
+
+Since setting up a new F<epgsearchcats.conf> is a lot of work, I've added
+a small tool 'createcats', that makes the biggest part of the job. It
+should have been compiled with the plugin and exists in the sources
+directory.
+
+See C<createcats(1)> for information about how to use it.
+
+B<Internals:> epgsearch scans the summary of an event for the category
+name followed by ': ' for all categories that have a corresponding
+value set in the search timer. The search is case sensitive regarding
+the category name as also the value.
+
+=head1 SYNTAX
+
+ ID|category name|name in menu|values separated by ','(option)|searchmode(option)
+
+ - 'ID' should be a unique positive integer
+ (changing the id later on will force you to re-edit your search timers!)
+ - 'category name' is the name as delivered by the EPG provider, e.g. 'Genre'
+ - 'name in menu' is the name displayed in epgsearch.
+ - 'values' is an optional list of possible values
+ - 'searchmode' specifies the search mode:
+ text comparison:
+ 0 - the whole term must appear as substring
+ 1 - all single terms (delimiters are ',', ';', '|' or '~')
+ must exist as substrings. This is the default search mode.
+ 2 - at least one term (delimiters are ',', ';', '|' or '~')
+ must exist as substring.
+ 3 - matches exactly
+ 4 - regular expression
+ numerical comparison:
+ 10 - less
+ 11 - less or equal
+ 12 - greater
+ 13 - greater or equal
+ 14 - equal
+ 15 - not equal
+
+=head1 EXAMPLE
+
+(Lines are shortened for correct displaying)
+
+Example for EPG from Hörzu, downloaded from epgdata.com with tvmovie2vdr.
+
+ 1|Category|Kategorie|Information,Kinder,Musik,Serie,Show,Spielfilm,Sport|2
+
+ 2|Genre|Genre|Abenteuer,Action,Wirtschaft,Wissen,Zeichentrick|2
+
+ 3|Format|Video-Format|16:9,4:3|2
+
+ 4|Audio|Audio|Dolby Surround,Dolby,Hoerfilm,Stereo|2
+
+ 5|Year|Jahr||2
+
+ 6|Cast|Besetzung||2
+
+ 7|Director|Regisseur||2
+
+ 8|Moderator|Moderation||2
+
+ 9|Rating|Bewertung|Großartig besonders wertvoll,Annehmbar,Schwach|2
+
+ 10|FSK|FSK|6,12,16,18|2
+
+ 11|Country|Land||2
+
+ 12|Episode|Episode||4
+
+ 13|Themes|Thema||4
+
+=head1 SEE ALSO
+
+C<epgsearch(1)>, C<epgsearchcats.conf(5)>, C<createcats(1)>
+
+=head1 AUTHOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 REPORT BUGS
+
+Bug reports (german):
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailing list:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LICENSE
+
+Copyright (C) 2004-2007 Christian Wieninger
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+The author can be reached at cwieninger@gmx.de
+
+The project's page is at http://winni.vdr-developer.org/epgsearch
+
+The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.
+
diff --git a/doc-src/en/epgsearchchangrps.conf.5.txt b/doc-src/en/epgsearchchangrps.conf.5.txt
new file mode 100644
index 0000000..bc55c87
--- /dev/null
+++ b/doc-src/en/epgsearchchangrps.conf.5.txt
@@ -0,0 +1,65 @@
+=head1 NAME
+
+F<epgsearchchangrps.conf> - Channel groups
+
+=head1 DESCRIPTION
+
+You can define channel groups in epgsearch which can be used in searchtimers.
+
+In this file the groups will be saved.
+
+=head1 SYNTAX
+
+Each line contains one channel group. The line begins with the group name, after the name,
+split by '|', the list of channels.
+
+=head1 EXAMPLE
+
+(Lines are shortened for clean displaying)
+
+ Private|S19.2E-133-33-46|S19.2E-133-33-51
+ ProsiebenSat.1|S19.2E-133-33-46|S19.2E-133-33-47
+ RTL World|S19.2E-1-1089-12003||S19.2E-1-1089-12090
+
+=head1 SEE ALSO
+
+C<epgsearch(1)>
+
+=head1 AUTHOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 REPORT BUGS
+
+Bug reports (german):
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailing list:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LICENSE
+
+Copyright (C) 2004-2007 Christian Wieninger
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+The author can be reached at cwieninger@gmx.de
+
+The project's page is at http://winni.vdr-developer.org/epgsearch
+
+The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.
diff --git a/doc-src/en/epgsearchcmds.conf.5.txt b/doc-src/en/epgsearchcmds.conf.5.txt
new file mode 100644
index 0000000..2fadf8a
--- /dev/null
+++ b/doc-src/en/epgsearchcmds.conf.5.txt
@@ -0,0 +1,73 @@
+=head1 NAME
+
+F<epgsearchcmds.conf> - EPG Commands
+
+=head1 DESCRIPTION
+
+This file contains, like the file commands.conf or reccmds.conf, commands, which
+can be applied to the in the program menu selected event.
+
+Internal epgsearch has 8 not changeable commands.
+
+If there is a F<epgsearchcmds.conf>, the commands in it will be appended to
+the list of the internal commands, starting with 9.
+
+=head2 Language
+
+You can use different files for each language. For example F<epgsearchcmds-eng.conf>
+will be loaded if the, in VDR selected, language is english.
+
+If there is no file for the selected language, epgsearch tries to load
+F<epgsearchcmds.conf>.
+
+=head1 SYNTAX
+
+Description : Command
+
+=head1 EXAMPLE
+
+epg2taste (de): /usr/local/vdr/epg2taste.sh
+
+=head1 SEE ALSO
+
+C<epgsearch(1)>
+
+=head1 AUTHOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 REPORT BUGS
+
+Bug reports (german):
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailing list:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LICENSE
+
+Copyright (C) 2004-2007 Christian Wieninger
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+The author can be reached at cwieninger@gmx.de
+
+The project's page is at http://winni.vdr-developer.org/epgsearch
+
+The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.
+
diff --git a/doc-src/en/epgsearchdirs.conf.5.txt b/doc-src/en/epgsearchdirs.conf.5.txt
new file mode 100644
index 0000000..e9aa7cc
--- /dev/null
+++ b/doc-src/en/epgsearchdirs.conf.5.txt
@@ -0,0 +1,103 @@
+=head1 NAME
+
+F<epgsearchdirs.conf> - List of directories for selecting in epgsearch
+
+=head1 DESCRIPTION
+
+This is one source of the 'Select directory' menu.
+
+This file contain directories which can be used for search timers or
+ordinary timers.
+
+The items displayed are read from the following sources:
+
+ * current recording directories
+ * current timer directories
+ * directories used in search timers
+ * directories specified in F<epgsearchdirs.conf>
+
+The menu merges theses directories and displays only distinct
+directories. With key 'yellow' one can change the depth of the
+directories shown. If there are items, that contain category variables
+like '%genre%', these entries are always shown before any other
+directories. They are also not level dependent, but are always shown
+with their full directory.
+
+If this menu is called from the timer edit menu and an item is
+selected that contains the variables "%title%" or "%subtitle" then the
+'file' item of the timer gets cleared, since title or subtitle already
+exist in the 'directory' item.
+
+=head1 SYNTAX
+
+Each line contains a directory. You can use every variable, internal ones
+those defined in F<epgsearchuservars.conf> and the variables of the
+extended EPG.
+
+See C<epgsearchcats.conf(5)> and C<epgsearchuservars.conf(5)>.
+
+Internal ones:
+
+ %time% - start time in format HH:MM
+ %date% - start date in format TT.MM.YY
+ %datesh% - start date in format TT.MM.
+ %time_w% - weekday name
+ %time_d% - start day in format TT
+ %time_lng% - start time in seconds since 1970-01-01 00:00
+ %title% - title
+ %subtitle% - subtitle
+
+=head1 EXAMPLE
+
+ %Category%~%Genre%
+ %Category%~%Genre%~%Title%~%Episode%: %Subtitle%
+ Information~Nature~%Title%~%Episode%: %Subtitle%
+ %Series%
+ Movie~Action
+ Movie~Docu
+ Movie~Thriller
+ Music
+ Sports
+
+=head1 SEE ALSO
+
+C<epgsearch(1)>, C<epgsearchcats.conf(5)>, C<epgsearchuservars.conf(5)>
+
+=head1 AUTHOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 REPORT BUGS
+
+Bug reports (german):
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailing list:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LICENSE
+
+Copyright (C) 2004-2007 Christian Wieninger
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+The author can be reached at cwieninger@gmx.de
+
+The project's page is at http://winni.vdr-developer.org/epgsearch
+
+The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.
diff --git a/doc-src/en/epgsearchmenu.conf.5.txt b/doc-src/en/epgsearchmenu.conf.5.txt
new file mode 100644
index 0000000..0dfde69
--- /dev/null
+++ b/doc-src/en/epgsearchmenu.conf.5.txt
@@ -0,0 +1,144 @@
+=head1 NAME
+
+F<epgsearchmenu.conf> - Customizing the EPG menus
+
+=head1 DESCRIPTION
+
+The file F<epgsearchmenu.conf> in your plugins config directory is used to store
+the entries for customizing the EPG menus. You specify the look of each menu
+(What's on now, What's on next, What's on at ..., Schedule, Search results,
+Favorites) with a separate line.
+
+=head1 EXAMPLE
+
+ MenuWhatsOnNow=%chnr%:3|%progrt2s%:5| %time% %t_status%:8|%category%:6| %title% ~ %subtitle%:35
+ MenuWhatsOnNext=%chnr%:3|%time% %t_status%:8|%category%:8| %title% ~ %subtitle%:35
+ MenuWhatsOnElse=%chnr%:3|%time% %t_status%:8|%category%:8| %title% ~ %subtitle%:35
+ MenuSchedule=%time% %t_status%:8|%genre%:14| %title% ~ %subtitle%:35
+ MenuSearchResults=%chnr%:3|%datesh% %time% %t_status%:14|%genre%:8| %title%%colon% %subtitle%:35
+ MenuFavorites=%chnr%:3|%datesh% %time% %t_status%:14|%genre%:8| %title%%colon%%subtitle%:35
+
+=head1 SYNTAX
+
+E.g. the entry 'MenuWhatsOnNow' tells epgsearch how you would like to build a
+line for the menu 'What's on now'. This would create a menu line starting with
+the channel number, followed by a progress bar in text2skin style, a space of
+one char, the start time, the timer status, the EPG category (like "movie")
+and finally the title and subtitle.
+
+The values for MenuWhatsOnNext, MenuWhatsOnElse, MenuSchedule,
+MenuSearchResults, MenuFavorites specify the menu 'What's on next', 'What's on
+at ...', 'Schedule', 'Search results' and 'Favorites' respectively. If you do
+not specify one entry, epgsearch uses it's default menu look.
+
+'MenuSearchResults' has something special: If you want to have different
+layouts for your search results depending on the search, you can use more then
+one menu template. Simply define e.g. an additional
+
+ MenuSearchResultsTip of the Day=%chnr%:3|%time_w%:4|%t_status%:3|%genre%:10|%title%%colon% %subtitle%:35
+
+This will produce an additional menu item "Result menu layout" in the edit
+menu of a search where you can choose between the default menu template and your
+own templates. In the example above you will get "Tip of the Day" as selection
+entry, since epgsearch simply cuts the leading "MenuSearchResults". When you
+display the search results the chosen template will be used instead of the
+default one.
+
+The following variables exist:
+
+ %time% - start time in format HH:MM
+ %date% - start date in format TT.MM.YY
+ %datesh% - start date in format TT.MM.
+ %time_w% - weekday name
+ %time_d% - start day in format TT
+ %time_lng% - start time in seconds since 1970-01-01 00:00
+ %title% - title
+ %subtitle% - subtitle
+ %t_status% - timer status ('T', 't', 'R')
+ %v_status% - VPS status
+ %r_status% - running status
+ %status% - complete status, the same as
+ '%t_status%%v_status%%r_status%'
+ %colon% - the sign ':'
+ %<epg-category>% - a value from the extended EPG categories, specified in
+ epgsearchcats.conf, like %genre% or %category%
+
+for the 'Whats on...' and 'Search results' menu there is also:
+
+ %chnr% - channel number
+ %chsh% - the short channel name (>=vdr-1.3.15)
+ %chlng% - the 'normal' channel name
+ %chdata% - VDR's internal channel representation (e.g. 'S19.2E-1-1101-28106')
+ %progr% - graphical progress bar (not for menu 'Search results')
+ %progrT2S% - progress bar in text2skin style (not for menu 'Search results')
+
+the variables are not case sensitive.
+
+An entry consists of up to 6 tables separated with '|'. The last entry of
+each table should declare the table width in chars, separated with ':'.
+
+If you use a separator like '~', '-' or '#' to separate items like title or
+subtitle, e.g. %title% ~ %subtitle%, and the subtitle is empty, then epgsearch
+will try to fix this automatically to avoid a trailing separator.
+
+You should vary the tab width values to fit your needs, since the look often
+depends on the selected skin. epgsearchmenu.conf is not reloaded with every
+plugin call, since this is only useful when testing the conf file. To activate
+the permanent reload for testing your conf, pass the new start parameter '-r'
+or '--reloadmenuconf' in your runvdr.
+
+There's a sample F<epgsearchmenu.conf> in the subdirectory "conf". For a quick try
+copy it to your plugins config directory (e.g. /etc/vdr/plugins).
+
+To enable icons from WarEagleIcon-Patch simply put the line
+
+ WarEagleIcons=1
+
+to F<epgsearchmenu.conf>.
+
+NOTE: As long as there is a file epgsearchmenu.conf with an entry for a special
+menu, all setup settings regarding the look of this menu are ignored.
+
+=head1 SEE ALSO
+
+C<epgsearch(1)>
+
+=head1 AUTHOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 REPORT BUGS
+
+Bug reports (german):
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailing list:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LICENSE
+
+Copyright (C) 2004-2007 Christian Wieninger
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+The author can be reached at cwieninger@gmx.de
+
+The project's page is at http://winni.vdr-developer.org/epgsearch
+
+The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.
+
diff --git a/doc-src/en/epgsearchswitchtimers.conf.5.txt b/doc-src/en/epgsearchswitchtimers.conf.5.txt
new file mode 100644
index 0000000..bb0e615
--- /dev/null
+++ b/doc-src/en/epgsearchswitchtimers.conf.5.txt
@@ -0,0 +1,73 @@
+=head1 NAME
+
+F<epgsearchswitchtimer.conf> - The list of switchtimer
+
+=head1 DESCRIPTION
+
+In epgsearch switchtimer can be created via the program menu
+or the searchtimers. These switchtimer can switch the channel
+at the beginning of the event or only inform you about the
+start via OSD.
+
+The switchtimers are saved in this file.
+
+=head1 SYNTAX
+
+The delimiter is ':'.
+
+This fields are possible:
+
+ 1 - Channel
+ 2 - Event ID
+ 3 - Start time
+ 4 - Minutes to switch before event
+ 5 - Only inform via OSD
+ 6 - unmute sound if off
+
+=head1 EXAMPLE
+
+ S19.2E-1-1089-12060:52221:1153322700:1:0
+
+=head1 SEE ALSO
+
+C<epgsearch(1)>
+
+=head1 AUTHOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 REPORT BUGS
+
+Bug reports (german):
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailing list:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LICENSE
+
+Copyright (C) 2004-2007 Christian Wieninger
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+The author can be reached at cwieninger@gmx.de
+
+The project's page is at http://winni.vdr-developer.org/epgsearch
+
+The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.
+
diff --git a/doc-src/en/epgsearchtemplates.conf.5.txt b/doc-src/en/epgsearchtemplates.conf.5.txt
new file mode 100644
index 0000000..5b19f74
--- /dev/null
+++ b/doc-src/en/epgsearchtemplates.conf.5.txt
@@ -0,0 +1,59 @@
+=head1 NAME
+
+F<epgsearchtemplates.conf> - Searchtimer templates
+
+=head1 DESCRIPTION
+
+In epgsearch searchtimer templates can be created for easy
+creating new searchtimers.
+
+These templates are saved in this file.
+
+=head1 SYNTAX
+
+This file has the same syntax as the epgsearch.conf.
+
+So please refer to F<epgsearch.conf>, see C<epgsearch.conf(5)>.
+
+=head1 SEE ALSO
+
+C<epgsearch(1)>, C<epgsearch.conf(5)>
+
+=head1 AUTHOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 REPORT BUGS
+
+Bug reports (german):
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailing list:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LICENSE
+
+Copyright (C) 2004-2007 Christian Wieninger
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+The author can be reached at cwieninger@gmx.de
+
+The project's page is at http://winni.vdr-developer.org/epgsearch
+
+The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.
diff --git a/doc-src/en/epgsearchuservars.conf.5.txt b/doc-src/en/epgsearchuservars.conf.5.txt
new file mode 100644
index 0000000..59ef7a9
--- /dev/null
+++ b/doc-src/en/epgsearchuservars.conf.5.txt
@@ -0,0 +1,182 @@
+=head1 NAME
+
+F<epgsearchuservars.conf> - User defined variables
+
+=head1 DESCRIPTION
+
+In this file you can defines variables which then can be used
+in epgsearch in any play where variables are possible.
+
+=head1 SYNTAX
+
+Variables looks like %Variablename%.
+
+"Variablename" can be consist of any alphanumerical character. Space
+and special characters are not allowed.
+
+The variable names are case-insensitive.
+
+Examples for possible names:
+
+ %Series% %DocuVar1% %ThemesSubtitleDate1%
+
+=head2 Assignment
+
+ %Series%=New series~Thriller
+
+The variable %Series% will be assigned with the string "New series~Thriller".
+
+Assignments are always strings. Spaces stay spaces.
+
+ %Path%=%Series%
+
+The variable %Path% gets the content of the variable %Series%.
+
+You can do nearly everything:
+
+ %Path%=%Serie%~Lost
+
+The variable %Path% contains now the string "New series~Thriller~Lost".
+
+=head2 Control structures
+
+You can use simple "if then else" constructions.
+
+These constructions cannot contain strings, only variables.
+Spaces are ignored.
+
+ %Foo%=Other
+
+ %Variable%=%Path% ? %Path% : %Foo%
+
+If %Path% is not empty, assign the content of %Path% to %Variable%,
+otherwise the content of %Foo%.
+
+"%Path% ?" means "not empty?". You can use other checks.
+
+ %Variable%=%Path%!=5 ? %Path% : %Foo%
+
+"%Path%!=5 ?" means "is %Path% equal 5?"
+
+You can also compare variables.
+
+ %Five%=5
+
+ %Variable%=%Path%!=%Five% ? %Path% : %Foo%
+
+Other possible checks:
+
+ == equal
+ != not equal
+
+=head2 Calling a system command
+
+You can call external commands. The returned string will be assigned
+to a variable
+
+ %Result%=system(scriptname,%Variable1% %Variable2% -f %Variable3% --dir=%Variable4% --dummy)
+
+Calls the script "scriptname" with the parameters "%Variable1%",
+"%Variable2%", etc. The result will be stored in %Result%.
+
+You can use as many variables as you want.
+
+If needed, epgsearch will quote the variable.
+
+The script must return a string B<without> line break!
+
+If the script returns nothing, an empty string will be assigned to the
+Variable %Result%.
+
+=head2 Possible variables
+
+The following variables exist:
+
+ %time% - start time in format HH:MM
+ %timeend% - end time in format HH:MM
+ %date% - start date in format TT.MM.YY
+ %datesh% - start date in format TT.MM.
+ %time_w% - weekday name
+ %time_d% - start day in format TT
+ %time_lng% - start time in seconds since 1970-01-01 00:00
+ %title% - title
+ %subtitle% - subtitle
+ %summary% - summary
+ %htmlsummary% - summary, where all CR are replaced with '<br />'
+ %eventid% - numeric event ID
+
+ %<epg-category>% - a value from the extended EPG categories, specified in
+ F<epgsearchcats.conf>, like %genre% or %category%
+
+ %chnr% - channel number
+ %chsh% - the short channel name (>=vdr-1.3.15)
+ %chlng% - the 'normal' channel name
+ %chdata% - VDR's internal channel representation (e.g. 'S19.2E-1-1101-28106')
+
+ %colon% - the sign ':'
+ %datenow% - current date in format TT.MM.YY
+ %dateshnow% - current date in format TT.MM.
+ %timenow% - current time in format HH:MM
+ %videodir% - VDR video directory (e.g. /video)
+ %plugconfdir% - VDR plugin config directory (e.g. /etc/vdr/plugins)
+ %epgsearchdir% - epgsearchs config directory (e.g. /etc/vdr/plugins/epgsearch)
+
+
+See also C<epgsearchcats.conf(5)>.
+
+=head1 EXAMPLES
+
+ # Weekday, Date, Time
+ %DateStr%=%time_w% %date% %time%
+
+ # Themes or Subtitle or Date
+ %ThemesSubtitleDate1%=%Subtitle% ? %Subtitle% : %DateStr%
+ %ThemesSubtitleDate%=%Themes% ? %Themes% : %ThemesSubtitleDate1%
+
+ # Calls this script to get a recording path
+ %DocuScript%=system(doku.pl,%Title%,%Subtitle%,%Episode%,%Themes%,%Category%,%Genre%)
+ %Docu%=%DocuScript%
+
+=head1 SEE ALSO
+
+C<epgsearch(1)>, C<epgsearchcats.conf(5)>
+
+=head1 AUTHOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 REPORT BUGS
+
+Bug reports (german):
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailing list:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LICENSE
+
+Copyright (C) 2004-2007 Christian Wieninger
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+The author can be reached at cwieninger@gmx.de
+
+The project's page is at http://winni.vdr-developer.org/epgsearch
+
+The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.
+
diff --git a/doc-src/en/noannounce.conf.5.txt b/doc-src/en/noannounce.conf.5.txt
new file mode 100644
index 0000000..d57475d
--- /dev/null
+++ b/doc-src/en/noannounce.conf.5.txt
@@ -0,0 +1,71 @@
+=head1 NAME
+
+F<noannounce.conf> - list of events that have been marked to not be announced
+via OSD
+
+=head1 DESCRIPTION
+
+This file contains a list of events that have been marked to not be announced
+via OSD by the search timer background thread.
+
+If the user presses one of the keys 'Ok', '0', ... '9' while the announcement
+of an event is displayed, he will be asked if further announcements of this
+event should be disabled for ever (user hit '0' or 'Ok') or for the next 'x'
+days (user hit '1' to '9'). After pressing 'Ok' again, this setting will be
+stored.
+
+=head1 FORMAT
+
+Events are stored one per line, where the fields are separated with ':'.
+
+The following fields exists:
+
+ 1 - title
+ 2 - short text
+ 3 - channel ID
+ 4 - start time
+ 5 - next announce time
+
+=head1 SEE ALSO
+
+C<epgsearch(1)>
+
+=head1 AUTHOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 REPORT BUGS
+
+Bug reports (german):
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailing list:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LICENSE
+
+Copyright (C) 2004-2007 Christian Wieninger
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+The author can be reached at cwieninger@gmx.de
+
+The project's page is at http://winni.vdr-developer.org/epgsearch
+
+The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.
+
diff --git a/doc-src/en/timersdone.conf.5.txt b/doc-src/en/timersdone.conf.5.txt
new file mode 100644
index 0000000..8ee305e
--- /dev/null
+++ b/doc-src/en/timersdone.conf.5.txt
@@ -0,0 +1,52 @@
+=head1 NAME
+
+F<timersdone.conf> - list of current timers created by search timers
+
+
+=head1 DESCRIPTION
+
+This file contains the current timers that were created by search timers. If
+the setup option 'Recreate timers after deletion' is set to 'no', epgsearch
+uses this list to determine if a timer was already created and cancels
+further timer creations. If a corresponding recording was made for any timer
+in this list, the timer is automatically removed from it.
+
+=head1 FORMAT
+
+Timers are stored one per line, where the fields are separated with ':'.
+
+The following fields exists:
+
+ 1 - channel-ID
+ 2 - start time
+ 3 - stop time
+ 4 - search timer ID
+ 5 - event title
+ 6 - event episode
+
+=head1 SEE ALSO
+
+C<epgsearch(1)>
+
+=head1 AUTHOR (man pages)
+
+Mike Constabel <epgsearch (at) constabel (dot) net>
+
+=head1 REPORT BUGS
+
+Bug reports (german):
+
+L<http://www.vdr-developer.org/mantisbt/>
+
+Mailing list:
+
+L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>
+
+=head1 COPYRIGHT and LICENSE
+
+Copyright (c) 2005-2006 Christian Wieninger
+
+L<http://www.cwieninger.de.vu/>
+
+This is free software. You may redistribute copies of it under the terms of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
+There is NO WARRANTY, to the extent permitted by law.