=encoding utf8
=head1 NAME

F<epgsearch> - Suchtimer und Ersatz fr VDR's Standard-Programm-Men

=head1 BESCHREIBUNG

EPG-Search kann als Ersatz fr VDR's Standard-Programm-Men verwendet
werden. Es sieht genauso aus, erweitert es aber um einige zustzliche
Funktionen.

Ein weiterer Punkt sind die sog. Suchtimer die dafr
sorgen, dass Timer automatisch programmiert werden.

 - Befehle fr EPG-Eintrge mit verschiedenen integrierten Befehlen wie
   z.B. 'Wiederholungen anzeigen', 'Suche anlegen'. Man kann eigene
   Befehle hinzufgen, um z.B. einen VDRAdmin Autotimer anzulegen.

 - Bis zu 4 weitere Zeitpunkte im Men 'Was luft jetzt?' neben 'Jetzt'
   und 'Nchste', sowie ein optionales Favoritenmen.

 - Suche im EPG: Anlegen von wiederverwendbaren Abfragen, die auch als
   'Suchtimer' verwendet werden knnen.

 - Suchtimer: Sucht im Hintergrund nach Sendungen und erzeugt einen
   Timer bei passenden EPG-Eintrgen (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 'Nchste'

 - Zeit im Men 'Jetzt', 'Nchste' kann per Tastendruck verschoben
   werden,  z.B. was luft 'Jetzt' + 30 Minuten

 - Startmen 'Programm' oder 'Jetzt' einstellbar.

 - das Men zur detaillierten EPG-Anzeige (Zusammenfassung) erlaubt den
   Sprung zur vorherigen/nchsten Sendung

 - Untersttzung erweiterter EPG-Infos in Suchtimern

 - Erweiterung des Timer-Edit-Mens um Verzeichnisse,
   benutzerdefinierte Wochentage und Untertitel-Auswahl

 - Timer Konfliktcheck, informiert ber OSD-Meldung

 - Timer Konfliktmen, zeigt die Konflikte an und erleichtert die
   Konfliktlsung

 - Email-Benachrichtigungen ber Suchtimer-Updates und Timer-Konflikte

Teile der Quelltexte basieren auf dem repeating-epg-patch von Gerhard Steiner, der mir die Erlaubnis gab, diese zu verwenden. Danke fr seine Arbeit!

=head1 OPTIONEN

=over 4

=item -f file,  --svdrpsendcmd=file

Pfad zu svdrpsend fr externe SVDRP-Kommunikation (Standard ist interne
Kommunikation, deshalb ist dieser Paramter normalerweise nicht notwendig)

=item -c path,  --config=path

zur Angabe eines eigenen Konfigurationsverzeichnisses fr alle
epgsearch-Dateien, Standard ist '<Plugin-Konfig-Verzeichnis>/epgsearch'

=item -l file,  --logfile=file

zur Angabe eines abweichenden Dateipfades fr epgsearch's Log-File (Standard
ist epgsearch.log in epgsearch's Konfig-Verzeichnis)

=item -v n,  --verbose=n

verbose level fr das Log-File. Wert 0 bedeutet kein Logging. Weiter Werte sind
1 (allgemeine Meldungen), 2 (detaillierte Meldungen), 3 (fr Debug-Zwecke)

=item -r,  --reloadmenuconf

bewirkt ein Neuladen der epgsearchmenu.conf bei jedem Plugin-Aufruf am
OSD. Kann fr das Testen eines selbst angepaten Men-Layouts praktisch sein.

=item -m file,  --mailcmd=file

das externe Kommando fr 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 'Nchste'
 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 knnen (die vorgegebene Zuweisung kann per
Setup angepasst werden):

=head2 1.1 Men Befehle

Dieses Men zeigt Befehle an, die auf den ausgewhlten Meneintrag
angewandt werden knnen. 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 ausgewhlte Sendung in die Datei epgsearchdone.data
   bernommen und epgsearch angewiesen, diese Sendung nicht aufzunehmen, falls
   der zugehrige Suchtimer mit "Wiederholung vermeiden" geschaltet ist. Ein
   bereits erzeugter Timer wird beim nchsten Suchtimer-Update automatisch
   gelscht.
 - In/Aus Umschaltliste?:
   Zum Bearbeiten der Umschaltliste. Wenn eine Sendung in der Umschaltliste
   enthalten ist, wird kurz vor Beginn eine Ankndigung 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 hinzufgen, 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 ausgefhrt 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 Ausfhren eines Befehls aus dem Hauptmen ohne ffnen des
Befehlsmens gengt es, die zugehrige Nummer des Befehls zu drcken.

=head2 1.2 Men Suche

Hier kann man eine Suche im EPG erzeugen, editieren, lschen und
ausfhren. Bedienung und Verhalten ist hnlich zu VDR's Timer-Men.

=head3 1.2.1 Men Suche editieren

Das meiste in diesem Men ist selbsterklrend, deshalb nur einige
Anmerkungen zu:

=over 4

=item - B<Suche:>

Suchbegriff. Will man nach mehreren Worten suchen, dann bitte mit
Leerzeichen trennen. Lsst 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 fr 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"). 'regulrer
Ausdruck' erlaubt die Angabe eines regulren Ausdrucks zur
Suche. Ein fhrender und abschlieender '/' ist nicht notwendig. Als
Standard werden POSIX extended regular expressions verwendet. Wer
lieber mit Perl kompatiblen regulren Ausdrcken arbeitet, muss
lediglich im Makefile des Plugins #HAVE_PCREPOSIX=1 in
HAVE_PCREPOSIX=1 ndern und neu kompilieren. (Dafr 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. Kennung fr Inhalt>

Einige Provider liefern Kennungen fr den Inhalt einer Sendung, z.B.
"Film/Drama", "Dokumentation",...(erst ab vdr-1.7.11 verfgbar)
Hiermit knnen diesen Kennungen ausgewhlt werden. Es ist auch eine
Mehrfachauswahl mglich, die dann in allen Kennungen bereinstimmen muss (UND-Verknpfung).

=item - B<Verw. erweiterte EPG Info>

(nur verfgbar, wenn konfiguriert. Siehe weiter unten 'Verwendung
erweiterter EPG Infos')

=item - B<Ignoriere fehlende Kategorien>

Wenn 'Ja' gewhlt 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 fhren.

=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:>

Ausschlusslisten knnen benutzt werden, um unerwnschte Sendungen auszuschlieen.
Hier knnen nur globale, eine oder mehrere oder alle Ausschlusslisten selektiert werden.
Falls ein Suchergebnis auch in einer der gewhlten Ausschlusslisten
erscheint, wird es verworfen.

=item - B<In Favoritenmen verw.:>

Nur verfgbar, 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 Ergebnismens:>

Nur verfgbar, wenn mehr als eine Menvorlage fr Suchergebnisse in
epgsearchmenu.conf angegeben wurde. Mit dieser Option kann ein anderes Layout
fr die Suchergebnisse dieser Suche gewhlt werden.

=item - B<Verwende als Suchtimer:>

falls ja, sucht das Plugin im Hintergrund nach passenden Sendungen
und erzeugt dafr einen Timer (im Setup muss dazu die Verwendung von
Suchtimern aktiv sein). Bei der Einstellung <benutzerdefiniert> lt 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 fr das
Suchergebnis. Man kann aber auch whlen, dass nur eine Ankndigung
der Sendung per OSD vorgenommen werden soll, sobald diese gefunden wird.
Eine weitere Mglichkeit ist 'nur umschalten'. Dadurch wird automatisch eine
Minute vor Beginn der Sendung auf deren Kanal gewechselt. Ebenso kann
mit 'Ankndigen und Umschalten' die Sendung vor ihrem Beginn angekndigt werden
und mit 'Ok' zum entsprechenden Kanal gewechselt werden.

=item - B<Serienaufnahme:>

falls ja, wird die Aufnahme in einem Ordner mit dem Seriennamen
gespeichert. Die Aufnahme selbst erhlt 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 gewhlt werden, das bereits bei anderen Sucheintrgen
verwendet wird. Die Liste kann auerdem durch Eintrge in der Datei
epgsearchdirs.conf erweitert werden (pro Zeile ein Verzeichnis, ohne
das fhrende video-Verzeichnis, s. auch MANUAL).

Wenn man erweiterte EPG-Infos von einem Provider erhlt, knnen 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 lschen>

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 lschen 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 Lschen 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. Bei 'falls vorhanden' stuft epgsearch zwei Sendungen nur dann als
identisch ein, wenn die Episodennamen gleich sind und nicht leer.

=item - B<Vergleiche Beschreibung>

Einstellung, ob beim Test, ob eine Sendung identisch ist, auch die
Inhaltsbeschreibung verglichen werden soll. Dabei wird zunchst
alles aus dem Inhalt entfernt, das einer Kategorienangabe
gleicht. Der verbleibende Text wird dann verglichen. Ist dieser zum
Prozentsatz der folgenden Option hnlich (im Sinne des Levinshtein-Distance-Algorithmus)
wird er als gleich behandelt.

=item - C<Min. bereinstimmung in %>

Die notwendige bereinstimmung zweier Beschreibung in %.

=item - B<Vergl. Zeitpunkt>

Manchmal wird eine Sendung hufig innerhalb einer gewissen Zeitspanne (Tag, Woche, Monat,...)
wiederholt, die einzelnen Sendungen lassen sich aber anhand des EPG Inhalts nicht unterscheiden.
Somit ist der Zeitpunkt also die einzige Information. Um damit zu vergelichen, kann man hier
die entsprechende Zeitspanne auswhlen, um die Wiederholungen zu ignorieren.

=item - B<Vergl. Kategorien>

ber die Schaltflche 'Einstellungen' kann angegeben werden welche
Kategorien ebenfalls miteinander verglichen werden sollen.

=item - B<Prioritt, Lebensdauer, Zeitpuffer Anfang und Ende:>

Jeder Suchtimer kann fr diese Parameter eigene Einstellungen
haben. Die Voreinstellung wird im Setup vorgenommen.

=item - B<VPS:>

aktiviert VPS, falls im VDR-Setup aktiv und fr die gefundene
Sendung auch VPS-Informationen vorhanden sind.

=item - B<automatisch lschen:>

zum automatischen Lschen eines Suchttimers bei folgenden Bedingungen:

 * nach x Aufnahmen, oder
 * nach x Tagen nach erster Aufnahme

Gezhlt werden dabei nur erfolgreiche Aufnahmen. Das Lschen 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 'Nchste'

Im Setup knnen bis zu 4 zustzliche Zeiten, als Erweiterung zu 'Jetzt'
und 'Nchste', angegeben werden um die Taste Grn zu erweitern.
Z.B. 'nachmittags', 'abends', 'sptabends'. Zeiten, die bereits
verstrichen sind, werden bersprungen, man erhlt abends also kein
'nachmittags'. Ausnahme: Ist ein Zeitpunkt nicht mehr als 20 Stunden in der
Zukunft wird das Men des nchsten Tages angezeigt.
In diesen Men kann die aktuell angezeigte Zeit durch Drcken 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 Grn und Gelb wechseln dann zu '<<' und '>>'. Das
Umschalten kann ber das Setup angepasst werden.
Man kann einen Fortschrittsbalken im Men 'Jetzt'/'Nchste' anzeigen lassen.

=head2 1.4 Men Setup

=head3 1.4.1 Allgemein

=over 4

=item - B<Hauptmeneintrag verstecken:>

Damit wird der Eintrag 'Suche' im Hauptmen ausgeblendet. Achtung:
wenn das Plugin der Taste Grn 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 'Programmfhrer'. Hinweis: Wenn man den
Eintrag abweichend von der Vorgabe setzt, ist der Eintrag nicht mehr
abhngig von der gewhlten OSD-Sprache. Setzt man den Eintrag wieder auf den
Default oder auf leer ist die Abhngigkeit wieder gegeben.

=item - B<Startmen:>

Auswahl von 'Programm' oder 'Jetzt' als Startmen.

=back

=head3 1.4.2 EPG Mens

=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)
hngt von dieser Einstellung ab.

=item - B<Taste Rot:>

Auswahl, ob man den Standard ('Aufnehmen') oder 'Befehle' als
Vorbelegung mchte.

=item - B<Taste Blau:>

Auswahl, ob man den Standard ('Umschalten') oder 'Suche' als
Vorbelegung mchte.

=item - B<Zeige Fortschrittsbalken in 'Jetzt':>

Im Men 'Jetzt' kann ein Fortschrittsbalken angezeigt werden, der
den Fortschritt der laufenden Sendung anzeigt.

=item - B<Zeige Kanalnummer:>

auswhlen, um eine fhrende 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 Radiokanle:>

Zeigt auch Radiokanle an.

=item - B<Limit channels from 1 to:>

Bei einer sehr groen Kanalliste lt sich der Men-Aufbau mit dieser
Einstellung durch eine Einschrnkung der angezeigten Kanle beschleunigen. Mit
'0' wird das Limit aufgehoben. Wenn der aktuelle Kanal ber dem Limit liegt,
wird das Limit ignoriert und wieder alle Kanle angezeigt.

=item - B<Timer mit 'Aufnehmen' sofort anlegen:>

Falls 'Ja' wird ein Timer sofort erzeugt, sobald man 'Aufnehmen' drckt,
sonst wird das Timer-Edit-Men angezeigt.

=item - B<Zeige Kanle ohne EPG:>

zur Anzeige von Programmen ohne EPG, um auf diese umschalten zu
knnen oder einen Timer zu programmieren

=item - B<Timer mit 'Aufnehmen' sofort anlegen:>

Falls 'Ja' wird nach Drcken von 'Aufnahme' sofort ein Timer angelegt,
falls 'Nein' erscheint das Timer-Edit-Men.

=item - B<Zeitintervall fr FR/FF [min]:>

In den Mens 'Programm', 'Jetzt', 'Nchste', 'Benutzerdef. Zeit 1',
... kann die angezeigte Zeit durch drcken von FastRew, FastFwd
verschoben werden.  Die Anzahl Minuten fr den Sprung kann hier
angepasst werden.

=item - B<Grn/Gelb umschalten:>

Falls die Tasten FastRew, FastFwd auf der Fernbedienung nicht
vorhanden sind, dann auf 'ja' setzen. Wenn die Taste '0' gedrckt
wird, werden somit auch die Tasten Grn/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 nchsten 24 Stunden laufen. Je nach
Einstellung erscheint dieses Men vor oder nach den EPG-Mens mit
benutzerdef. Zeiten. Die Auswahl von Sendungen wird durch setzen der Option
'In Favoriten-Men verw.' innerhalb einer Suche geregelt.

=item - B<fr die nchsten ... Stunden:>

Mit diesem Wert wird die Zeitspanne eingestellt, fr 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 knnen zu 'Jetzt' und 'Nchste'
hinzugefgt werden.

=item - B<Beschreibung:>

Name der benutzerdef. Zeit, z.B. 'Nachmittags', 'Abends',
'Sptabends'.

=item - B<Zeit:>

zugehrige 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 Vervollstndigung 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 ergnzen, wodurch die sptere
Aufnahme in einem Unterverzeichnis fr diese Episode gespeichert
wird. Hier whlt man wie die Ergnzung gemacht werden
soll. 'Intelligent' versucht zu prfen, ob es Sinn macht und prft
dazu die Lnge einer Sendung. Ist diese lnger als 80min wird keine
Untertitel ergnzt.

=item - B<Standard-Timer-Prfmethode:>

Manuell angelegte Timer knnen auf nderungen im EPG berprft werden. Hier
kann die Standardeinstellung fr die Prfmethode je Kanal hinterlegt
werden. Folgende Prfmethoden existieren:
   * ohne berwachung
   * anhand Sendungskennung: geprft wird anhand einer Kennung, die durch den
     Sender vergeben wird. (Achtung: nicht jeder Sender liefert vernnftige
     Kennungen!)
   * anhand Sender/Uhrzeit: geprft wird anhand der Sendung, die am besten zur
     Dauer der ursprnglichen Sendung passt.

Nicht alle Sender liefern eine vernnftige Sendungskennung. Deshalb kann hier
die Standardeinstellung fr 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 Eintrge gefunden werden. Dies
betrifft nur Sucheintrge, die mit 'Als Suchtimer verwenden'
markiert sind.

Suchtimer werden immer lokal erzeugt, auch wenn ein anderer Defaulthost
fr Aufnahmen definiert ist.

=item - B<Aktualisierungsintervall:>

Das Intervall in Minuten, in dem die Hintergrundsuche vorgenommen
wird.

=item - B<SVDRP Port:>

Falls nicht der Standard-SVDRP-Port 6419 (2001 vor vdr-1.7.15) verwendet wird, dann bitte
hier anpassen, damit die Suchtimer funktionieren.

=item - B<Prioritt, Lebensdauer und Zeitpuffer fr Anfang und Ende:>

Voreinstellungen

=item - B<Keine Ankndigung bei Wiedergabe:>

zum Unterdrcken von Sendungs-Ankndigungen whrend einer aktiven Wiedergabe.

=item - B<Timer nach Lschen neuprogrammieren:>

epgsearch merkt sich standardmig welche Timer bereits durch Suchtimer
angelegt wurden und programmiert diese nicht erneut, wenn sie gelscht
wurden. Zum Abschalten dieses Verhaltens bitte 'Ja' whlen.

=item - B<Prfe ob EPG fr ... [h] existiert:>

Falls EPG von externen Anbietern bezogen wird, kann es vorkommenm, dass hier
auch mal etwas schiefluft und somit wegen fehlendem EPG Aufzeichnungen verlorengehen.
Hiermit kann geprft werden, ob fr die nchsten ... Stunden EPG bei den
gewnschten Sendern vorhanden ist. Mit '0' wird die Prfung deaktiviert.

=item - C<per OSD warnen:>

falls ja, erscheint die Warnung als OSD-Einblendung

=item - C<per Mail warnen:>

falls ja, wird die Warnung per Mail versandt. Bitte das Email-Konto unter
Email-Benachrichtigung konfigurieren.

=item - C<zu prfende Kanalgruppe:>

hier die Kanalgruppe auswhlen, fr die die Prfung durchgefhrt werden soll.
Gegebenefalls zuvor unter Kanalgruppen anlegen.

=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 knnen Suchvorlagen verwaltet werden, die beim Anlegen neuer Suchen
verwendet werden knnen.

=item - B<Ausschlusslisten:>

Hier knnen Ausschlusslisten verwalten werden. Diese knnen innerhalb einer
Suche verwendet werden um unerwnschte Sendungen zu vermeiden.
Eine Ausschlussliste kann auch als global gekennzeichnet werden. Da die
Standardeinstellung beim Suchtimer fr die Option 'Ausschlusslisten verw.'
auf 'nur globale' steht, kann man somit einfach unerwnschte Sendungen von
allen Suchtimern ausschlieen. Ausnahme: Falls beim Suchtimer die Option
'Ausschlusslisten verw.: keine' gewhlt ist, hat eine globale Ausschlussliste
keine Auswirkung. Ebenso werden globale Ausschlusslisten bei der Suche nach
Wiederholungen ber das OSD ignoriert.

=item - B<Kanalgruppen:>

verwaltet die Kanalgruppen, die als Suchkriterium in einer Suche
verwendet werden knnen. Die Verwaltung ist auch im Edit-Men einer
Suche mglich.

=back

B<Wichtig>: wenn der EPG aus einer externen Quelle bezogen wird, sollte dafr
gesorgt werden, dass die Suchtimer-Updates whrend des EPG-Updates
abgeschaltet sind. Der Grund dafr ist, dass epgsearch Timer lscht, denen
keine Sendungen zugeordnet sind. Whrend 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 plug epgsearch SETS off

<das EPG update Skript>

svdrpsend plug epgsearch SETS on


=head3 1.4.6 Timer-Konflikt-Prfung

=over 4

=item - B<Ignoriere unter Prioritt:>

Falls ein Timer fehlschlagen wird, dessen Prioritt 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 lnger 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<Prfe nur die nchsten ... Tage:>

Hier kann der Zeitraum der Prfung angegeben werden.

=item - B<Konflikte auch fr Remote-Timer prfen:>

Falls SVDRPPeering aktiv ist, werden auch Konflikte bei entfernten Timern
berpft. Dazu muss am entsprechenden Remote-Rechner das epgsearch-Plugin
ebenfalls aktiviert sein. Default ist nein.

=item - B<Nach jeder Timer-Programmierung:>

Das bewirkt eine Konfliktprfung nach jeder manuellen Timer-Programmierung
und erzeugt eine OSD-Nachricht, falls der neue/genderte Timer in einen
Konflikt verwickelt ist.

=item - B<Beim Beginn einer Aufnahme:>

Hier auf 'Ja' setzen, wenn die Konfliktprfung beim Beginn jeder Aufnahme erfolgen soll.
Im Falle eines Konflikts wird dann sofort eine Nachricht angezeigt. Diese erscheint nur,
wenn der Konflikt innerhalb der nchsten 2 Stunden auftritt.

=item - B<Nach jedem Suchtimer-Update:>

Hier kann eingestellt werden, ob eine Konfliktprfung nach jedem
Suchtimer-Update erfolgen soll. Falls nicht:

=item - B<nach ... Minuten:>

gibt an nach wievielen Minuten im Hintergrund eine automatische
Konfliktprfung erfolgen soll. Bei relevanten Konflikten erfolgt eine
Nachricht per OSD. Mit '0' wird diese Funktion deaktiviert.

=item - B<Wenn nchster Konflikt in ... Minuten:>

Wenn nchster Konflikt in ... Minuten eintritt, verwende folgendes
Prfintervall.

=over 4

=item - B<alle ... Minuten:>

um einen Konflikt in Krze nicht zu bersehen, kann hier ein krzeres
Prfintervall eingestellt werden.

=back

=item - B<Vermeide Nachricht bei Wiedergabe:>

Bitte auf 'Ja' setzen, wenn whrend einer Wiedergabe keine OSD-Benachrichtigungen
ber Timer-Konflikte gewnscht sind. Die Benachrichtigung erfolgt trotzdem,
wenn der nchste Konflikt innerhalb der nchsten 2 Stunden auftritt.

=back

Bitte ebenfalls den Abschnitt 'Working with the timer conflict menu' im MANUAL
bercksichtigen.

=head3 1.4.7 Email-Benachrichtigungen

(Bitte sicherstellen, dass 'sendEmail.pl' im Pfad der ausfhrbaren 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 wnscht, sobald
der Suchtimer-Hintergrund-Thread

  - neue Timer angelegt hat
  - vorhandene Timer gendert hat
  - Timer gelscht hat, weil diese wegen EPG-nderungen oder anderen
    Benutzeraktionen nicht mehr gltig sind.

(Dazu muss ebenfalls die Option 'Verwende Suchtimer' im Suchtimer-Setup aktiv sein.)

=item - B<Zeit zwischen Mails [h]:>

Fr Benachrichtigungen zu Suchtimern kann hier angegeben werden, welchen Mindestabstand in Stunden
die Mails haben sollen. Sobald die entsprechende Zeit verstrichen ist, wird eine Mail nach dem nchsten Suchtimer-Update
versandt. Der Wert '0' bedeutet keine Verzgerung und bewirkt einen sofortigen Mailversand.

=item - B<Timer-Konflikt-Benachrichtigung:>

Diese Option aktivieren, wenn man eine Email-Benachrichtigung bei
Timer-Konflikten wnscht. Es werden nur Konflikte gemeldet, die laut
Setup-Einstellungen 'relevant' sind. Neue Benachrichtigungen werden nur
versandt, sobald sich etwas bei den Konflikten verndert.

(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 fr Sender und Empfnger.

=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' whlen wenn das Emailkonto eine SMTP-Authentifizierung fr den
Emailversand bentigt.

=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 dafr
sorgen, dass das System sicher ist und nicht authorisierten Personen kein
Zugriff auf VDR-Konfigurations-Dateien mglich ist.

=back

Nach Angabe der Email-Konto-Daten bitte mit 'Test' prfen, 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 bercksichtigen.

=head1 2. Suchtimer

Das ist ziemlich das gleiche wie VDRAdmin's Autotimer, bentigt 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 Zeitabstnden (->Setup->Update
Intervall [min]) nach passenden Sendungen und erzeugt Timer fr die
Ergebnisse. Gerade fr Serien ist dies sehr praktisch, weshalb es in
der Suche die Option "Serienaufnahme" gibt. In diesem Fall wird ein
Timer mit zustzlichem 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 fr SVDRP nicht der Standardport verwendet wird, bitte
ebenfalls im Setup eintragen.

Falls man eine Hintergrund-Suche manuell anstoen will, gengt 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 anhngen, 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 erklrt werden wie die Option 'Wiederholungen vermeiden'
eines Suchtimers funktioniert.

Nicht immer lsst sich durch entsprechende Suchkriterien vermeiden,
dass auch Timer fr Wiederholungen erzeugt werden.

Um das zu verhindern, versucht das Feature 'Wiederholungen vermeiden'
vor dem Programmieren einer Sendung zu prfen, 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 fr die zu berprfende Sendung erzeugt.

=head2 2.2 Wie funktioniert der Vergleichstest zwischen 2 Sendungen?

Fr den Test auf Gleichheit zwischen 2 Sendungen gibt es viele
Einstellmglichkeiten beim Suchtimer. Man kann whlen, 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 prft immer auf
vollstndige Identitt. Die Beschreibung einer Sendung bildet hier
aber eine Ausnahme. Hier wird zunchst 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 fr dieses Rausschneiden sind die
oft vorhandenen Bewertungen wie 'Tagestipp', die bei der Wiederholung
aber nicht mehr enthalten sind.

Der verbleibende Text wird nun zunchst in der Lnge verglichen. Ist
der Unterschied grer 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% Identitt zurckgibt.

Da dieser Algorithmus ziemlich laufzeitintensiv ist (O(mn)), sollte
nach Mglichkeit nicht nur 'Vergleiche Beschreibung' als einziges
Vergleichskriterium ausgewhlt werden, sondern am besten immer nur in
Kombination mit anderen Vergleichen.

=head2 2.3 Wie und wo wird der Vergleichstest eingesetzt?

Wie zuvor erwhnt wird bei einem Suchtimer-Update fr Suchtimer mit
diesem Feature zustzlich geprft, ob eine Sendung bereits irgendwann
schon aufgezeichnet wurde, oder in der Timerliste ein Timer steht, der
die gleiche Sendung aufzeichnen wrde. Letzteres sollte klar sein,
whrend fr 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 bezglich der Timerangaben korrekt begonnen und auch
beendet wurden. D.h. dass teilweise unvollstndige Aufnahmen nicht
registriert werden und somit beim nchsten Suchtimer-Update
automatisch ein neuer Timer fr diese Sendung erzeugt wird, falls
gefunden.

B<Wie verwenden?>

Man sieht, dass das ganze Feature stark von der Qualitt und dem
Umfang des verwendeten EPGs abhngt. Hat man einen entsprechenden
Suchtimer angelegt, ist es sinnvoll erstmal zu prfen, ob er auch das
richtige macht. Dazu gibt es fr solche Timer im Suchergebnis-Men auf
der Taste 'Blau' die zustzliche Belegung 'Timer-Vorschau'. Sendungen,
die noch keinen Timer haben ('T'), aber fr die einer aufgrund des
Features beim nchsten Suchtimer-Update programmiert wrde, haben dort
ein 'P' stehen.

Hinweis: Mchte man wegen Konflikten einen bereits programmierten
Timer nicht verwenden, dann sollte dieser im Timermen deaktiviert
werden. Beim nchsten Suchtimer-Update wird dann einfach die nchste
mgliche 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 fr epgsearch eingefhrt. 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 fr
'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 zustzliche EPG Infos wie die Art der
Sendung, das Video und Audio Format, die Besetzung,... in der Beschreibung der
Sendung.

Anmerkung: Dies hat nichts mit den content descriptors seit vdr-1.7.11 zu tun,
die als zustzliche Daten nach einem gemeinsamen Standard aufgeliefert werden.
Leider liefern nicht alle Provider diese Daten oder setzen die Kennungen nicht korrekt.
Deshalb gibt es den Ansatz der "erweiterten EPG Infos", der versucht diese Information
aus der Inhaltsbeschreibung zu extrahieren.

Mit tvmovie2vdr oder epg4vdr knnen 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 spter aus irgendeinem Grund diese ID mssen
    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 fr 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
       '~') mssen 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 regulrer Ausdruck
   Numerischer Vergleich:
   10 - kleiner
   11 - kleiner oder gleich
   12 - grer
   13 - grer oder gleich
   14 - gleich
   15 - ungleich

Beispiel-Dateien fr 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 lstig ist,
habe ich ein kleines Tool 'createcats' mitgeliefert, das den Groteil
der Arbeit erledigt. Es sollte mit dem Plugin bersetzt worden sein
und sich im Quellverzeichnis befinden. Einfach folgendermaen 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 fr alle
Kategorien, fr die im Suchtimer ein Wert gesetzt wurde. Die Suche
bercksichtigt die Gro/Kleinschreibung sowohl bezglich des
Kategorie-Namens als auch des Wertes.

=head1 5. Ersetzen des Standardmen

Um das Plugin als Ersatz fr VDR's Standard-Men zu verwenden, gengt
es die Zeile

 Green   @epgsearch

in die Datei keymacros.conf zu setzen. Falls kein weiterer Meneintrag
im Hauptmen erscheinen soll, dann den Eintrag des Plugins zunchst im
Setup ausblenden. Um das Plugin trotzdem mit der Taste "Grn" aufrufen
zu knnen, knnte 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.

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

heien. 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 mchte oder einfach einen eigenen Hauptmeneintrag fr die
Suche wnscht, kann dies mit diesem Plugin erreichen. Es wird damit ein
Hauptmeneintrag "Suche" erzeugt, der einen direkt in das Suchenmen fhrt.
Aktivierung im VDR-Startskript mit "-Pepgsearchonly".

=item - B<conflictcheckonly:>

Die Timer-Konfliktprfung kann ebenfalls als eigener
Hauptmeneintrag angelegt werden. ber eine Setup-Option lt sich auch
das Ergebniss der letzten Konfliktprfung direkt im Hauptmen anzeigen.
Aktivierung im VDR-Startskript mit "-Pconflictcheckonly".

=back

Viel Spass!

Christian Wieninger

=head1 Ausfhrliche Beschreibung

Die ausfhrliche 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 verrt 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>

Enthlt die Suchtimer. Siehe C<epgsearch.conf(5)>.

F<epgsearchcats.conf>

Enthlt die Kategorien des erweiterten EPG. Siehe C<epgsearchcats.conf(5)>.

F<epgsearchcmds.conf>

Enthlt Befehle hnlich der commands.conf, die auf EPG-Eintrge angewandt werden knnen. Siehe C<epgsearchcmds.conf(5)>.

F<epgsearchdirs.conf>

Enthlt Pfade die beim Bearbeiten eines Suchtimers ausgewhlt werden knnen. Siehe C<epgsearchdirs.conf(5)>.

F<epgsearchmenu.conf>

Enthlt die vom User gewhlte Konfiguration der OSD Mendarstellung. Siehe C<epgsearchmenu.conf(5)>.

F<epgsearchuservars.conf>

Enthlt die User-Variablen. Siehe C<epgsearchuservars.conf(5)>.

F<epgsearchdone.data>

Enthlt die done-Liste. Siehe C<epgsearchdone.data(5)>.

F<epgsearchswitchtimers.conf>

Enthlt die Umschalttimer. Siehe C<epgsearchswitchtimer.conf(5)>.

F<epgsearchblacklists.conf>

Enthlt die Ausschlussliste. Siehe C<epgsearchblacklists.conf(5)>.

F<epgsearchchangrps.conf>

Enthlt die Kanalgruppen. Siehe C<epgsearchchangrps.conf(5)>.

F<epgsearchtemplates.conf>

Enthlt die Vorlagen fr 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://projects.vdr-developer.org/projects/plg-epgsearch>

Mailinglist:

L<http://www.vdr-developer.org/mailman/listinfo/epgsearch>

=head1 COPYRIGHT and LIZENZ

Copyright  2004-2010 Christian Wieninger

Dieses Programm ist freie Software. Sie knnen es unter den Bedingungen
der GNU General Public License, wie von der Free Software Foundation
verffentlicht, weitergeben und/oder modifizieren, entweder gem Version 2
der Lizenz oder (nach Ihrer Option) jeder spteren Version.

Die Verffentlichung 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 FR 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..





