summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorAndreas Brachold <vdr07@deltab.de>2007-08-13 18:41:27 +0000
committerAndreas Brachold <vdr07@deltab.de>2007-08-13 18:41:27 +0000
commitbcbf441e09fb502cf64924ff2530fa144bdf52c5 (patch)
treef377707a2dac078db8cd0c7d7abfe69ac1006d71 /doc
downloadxxv-bcbf441e09fb502cf64924ff2530fa144bdf52c5.tar.gz
xxv-bcbf441e09fb502cf64924ff2530fa144bdf52c5.tar.bz2
* Move files to trunk
Diffstat (limited to 'doc')
-rw-r--r--doc/CHANGELOG.txt1415
-rw-r--r--doc/COPYING.txt504
-rw-r--r--doc/LIESMICH.txt65
-rw-r--r--doc/Makefile71
-rw-r--r--doc/NEWS.txt871
-rw-r--r--doc/README.txt65
-rw-r--r--doc/TODO.txt13
-rw-r--r--doc/TUTORIAL.txt.gzbin0 -> 6344 bytes
-rw-r--r--doc/docu.tmpl99
-rw-r--r--doc/xxvd.194
-rw-r--r--doc/xxvd.sgml213
11 files changed, 3410 insertions, 0 deletions
diff --git a/doc/CHANGELOG.txt b/doc/CHANGELOG.txt
new file mode 100644
index 0000000..9da2826
--- /dev/null
+++ b/doc/CHANGELOG.txt
@@ -0,0 +1,1415 @@
+0.90 (testing)
+
+ * VTX: In der VTX-Seite vorhandene URL (www...) sind jetzt mit wählbaren Verweisen hinterlegt.
+ * TIMERS: BUG[181] Es wird eine Warnung angezeigt wenn der Festplattenplatz nicht ausreicht um den Event aufzunehmen.
+ * RECORDS: BUG[182] Aufnahmen können jetzt auch rekursiv gelöscht werden.
+ * REMOTE: Monitor ausblendbar (Über Einstellungen vor einstellbar)
+ * display/rdisplay: REQUEST[229] Link zu Titelsuche mit imdb/ofdb.
+ * EPG: Bug[205] Bei Konflikten wird jetzt im title angezeigt, mit welchen Timer dieser im Konflikt steht.
+ * schema.tmpl: Laufender Timer färbt die Eventbox grün
+ * EPG: Bug[218] Epg Daten werden jetzt über den SVDRP Socket gelesen
+ * EPG: Bug[218] Epg Daten werden mit DB verglichen und bei Bedarf ersetzt
+ * USER: Request[194] Zusätzliche Benutzereinschränkung, per Stream[Livestream],Remote[Umschalten]
+ * AUTOTIMER: Kein eigenständiger einstellbarer Prüfintervall mehr, nur wenn sich die EPG Daten ändern, wird automatisch auf AT geprüft
+ * AUTOTIMER: Request[223] Datenbank basierte DONE Liste für Serienaufnahmen.
+ !!! NEUE DB VERSION 23 !!!
+ + Done y/n durch seperate Auswahl für timer/recordings/chronicle ersetzt
+ * AUTOTIMER: Request[241] VDRADMIN-Import/Export als sicherheitsrelevantes Feature in eigenen Skript ausgelagert './contrib/at-vdradmin2xxv.pl'
+ * AUTOTIMER: Request[206] Suchen nach Cast, Category usw in Autotimer
+ * HTTPD, TELNET, INTERFACE, MUSIC, WAPD: Request[242] IP-Adresse für Server bindbar gemacht.
+ Neuer Parameter 'Interface' - Default : 0.0.0.0 Server lauscht an allen Netzwerkanschlüssen.
+ * EPG: erestart - Update des EPG mit Fortschrittsbalken
+ * WAIT: Anzeige der Restzeit
+ * EPG: schema für Direktanwahl mit Uhrzeit im HH:MM Format aufrufbar
+ * TIMER: Anzeige Beschreibung per Tooltip ermöglicht
+ * RECORDS: Anzeige Beschreibung per Tooltip ermöglicht
+ * TIMER: Option "Timer justieren, wenn EPG Eintrag verändert wurde" per Setup deaktivierbar gemacht
+ * RECORDS: redit/info.vdr nicht mehr in in Rohform bearbeiten sondern separate Eingabefelder für die jeweiligen Einträge (Beschreibung, Kanal ...)
+ * RECORDS: Request[196] Anzeige der Startzeit der Aufnahmen
+ * EPG/TIMER/RECORDS: Request[259] Anzeige der EPG-Beschreibung als Tooltip (per AJAX)
+ * AUTOTIMER/EPG/RECORDS: Request[187] Suche erweitert mit Logik Operatoren (AND, OR, AND NOT)
+ * HTTPD: Default HTML-Template Dir. Wenn ein Template im skin nicht gefunden wird, wird automatisch das defdir benutzt.
+ * Ajax.pm : Support JSON Format
+ * contrib/chronicle-remove-duplicate.pl Skript zum Entfernen von doppelte Einträge. (z.B. nach dem Update von mysql 4.0 auf 5.0)
+ * MUSIC: Request[235] Cover werden ebenfalls aus den MP3 Ordner verwenden.
+ * MUSIC: Neues Kommando(mgetfile) für direktes Abspielen/-Streamen der Datei.
+ * USER: Medienbibliothek in USER Verwaltung per deny:media selektiv sperrbar.
+ * AUTOTIMER/TIMER: Statusabfrage beim toggle per AJAX ermöglicht
+ * main: Reihenfolge des Systemstart reorganisiert
+ * Update von AUTOTIMER/CHRONICLE werden nicht mehr per zyklischen Timer,
+ sondern direkt von EPG/RECORDS aufgerufen, nur noch wenn sich Daten geändert haben.
+ * SVDRP: Timeout einstellbar gemacht
+ * RECORDS: Aktualisieren der Aufnahmen extrem beschleunigt, nur geänderte Aufnahmen werden neu eingelesen bzw. nur der Status in DB aktualisiert.
+ * Suchfunktion um 'Suggest' via Ajax Feature erweitert
+ * Erstellung von Vorschaubilder mittels vdr2jpeg berücksichtigt Schnittmarken
+ * Ausgabe der Versionsnummer im Statusheader der HTML Response
+ * RECORDS : Verwalten der Aufnahmen mit eindeutiger ID Request[251]
+ * RECORDS/rdisplay : Starten des Schnittprozess im VDR
+ * HTTPD: Formulardaten per POST-Request verarbeiten
+
+* Fixes
+ * HTML: Sonderzeichen werden jetzt rekursiv im Daten- sowie Parameterhash korrekt ersetzt.
+ * HTML: entities für templates deaktiviert.
+ !!! Achtung, da jetzt grundsätzlich alle Daten mit entities bearbeitet werden
+ !!! müssen alle entities aus den Skins raus.
+ * HTML/widget/string: 'readonly'-Daten nicht mehr als Formulardaten senden
+ * RECORDS: Meldung 'Kann x Aufnahmen nicht zuordnen' informativer gemacht - Bug[209]
+ * RECORDS: Nur Aufnahmen in Verzeichnissen mit '*.rec' einlesen (ignorieren von gelöschten Aufnahmen '*.del')
+ * docu.tmpl: Datum aktualisiert
+ * MUSIC: Obwohl Modul inaktiv wurde Datenbankverbindung und Socket geöffnet
+ * MUSIC: Symbolische Linkschleifen (Link-Loops) führten in MP3::Icecast::add_directory
+ zu einer Endlosschleife (berichtet von Karsten Müller)
+ * HTML: Einstellungen > CONFIG - Abschnitt CONFIG existiert nicht in der Konfiguration Bug[207]
+ * AT/EPG/RECORDS/TIMER/USER : Initialisierung der Module abbrechen wenn keine Verbindung zur Datenbank existiert.
+ * Generell/restart: Neustart - nur verfügbar wenn XXV als root läuft Bug[201]
+ * STREAM: BUG[193] Playlisten für Videoaufnahmen in EXTM3U Format (Frank Enderle)
+ * RECORDS: Aufnahme mit gleichen Titel und aufeinander folgendem Zeitraum, wurden als nur eine Aufnahme angezeigt
+ * alist/topten: BUG[210] Kanäle wurden nicht angezeigt.
+ * RECORDS: Request[244] Lesbares Datumsformat für Datenbankfelder
+ * EPG: Bug[217] erestart - redirect produzierte Fehlermeldung ERROR : I don't understand the command '<undef>'
+ * EPG: Bug[218] EPG Events die nicht mehr vom vdr erwähnt wurden, werden jetzt gelöscht
+ * RECORDS: Redundante Datenfelder entfernt
+ * STREAM: BUG[246] Aufbau des Pfad für Windowsfreigaben, die über einen Laufwerksbuchstaben gebunden sind.
+ * AUTOTIMER: BUG[231] Parameter prevminutes und afterminutes ließen sich nicht auf 0 stellen
+ Tipp: Werden die Fehler leer gelassen, wird der Defaultwert der Timer verwendet.
+ * EPG: Abgelaufene EPG Einträge standen nicht mehr für "display" zur Verfügung.
+ * CHRONICLE: Bug[252] Can't locate object method "status" via package
+ * SHARE: Bug[221] Anzahl der Meldung "syntax error at /usr/lib/perl5/XML/Parser.pm" reduziert
+ * MUSIC: Bug[253] Fehlerausgabe bei Inaktivität des Moduls verhindern
+ * EPG: Bug[249] Speicherbedarf beim Einlesen der EPG Daten reduziert
+ * HTML: Nur das erste Widget hatte Daten per HTML Encodierung (Timer mit Quote (") waren nicht möglich)
+ * TIMER: Optimierung - Timer justieren, wenn EPG Eintrag verändert wurde
+ * TIMER: Optimierung - Zuordnung EPG Eintrag, zum Timer
+ * CHANNELS: Fehlermeldung beim Auswahl der bekannten CA im Log verhindert.
+ * MUSIC: Bug[266] Streaming im Classic Mode funktionierte nicht mehr.
+ * main: Die Meldung 'Successfully connect to' kann auch, wenn keine Verbindung zur Datenbank aufgenommen werden konnte.
+ * AUTOTIMER: Globales Exclude der Kanäle nur noch nutzen, wenn der jeweilige Autotimer keinen Kanal zur Suche verwendet.
+ * topten: Ausgabe des Startzeitpunkt im Lokalen Datumsformat
+ * wait: ServerPush nicht bei MSIE ausgeben.
+ * MUSIC: getcovers redseliger gemacht.
+ * EPG: next: zeigte VPS Zeiten nicht an.
+ * STREAM/MUSIC: Playlist mit Dateinamen und Dateiendung *.m3u senden.
+ * schema: Navigation zwischen den Programmgruppen sprang ein Tag in die Zukunft.
+ * HTTPD: Probleme mit Dateinamen die ein '-' enthielten.
+ * Warnmeldungen behoben "Use of uninitialized value in sprintf at ..."
+ + bei Logging bei --verbose=5 ohne aktiven User,
+ + docu.tmpl
+ * HTTPD: Logging aller relevanten Informationen in eine Zeile zusammengefasst.
+ * AUTOTIMER: Auf Auswahl des Wochentags nur prüfen, wenn nicht die gesamte Woche aktiv ist
+ * Status: Dateisysteme mit "/" im Name des Device wurden graphisch nicht angezeigt
+ * MUSIC im 'Muggle' Mode
+ + mlist: Anzeige des Genre des Titel fehlte
+ + mrefresh: Titel wurden nur hinzugefügt, veraltete aber nie aus der DB entfernt.
+ + mlist: Suche nach Genre jetzt kompatibel zur Definition nach GiantDisc
+ (Pop (md) findet auch Subgenre Acoustic (mda), Synth Pop (mdb) ...)
+ * REPORT: Bug[267] News::Mail - Daten unvollständig
+ * HTTPD: Hardcodiertes Protokoll für AJAX Request entfernt
+ * MUSIC(classic): Datenbankfeld für Jahreszahl und Bitrate zu klein.
+ * HTTPD: pureperl entfernt und durch checkvalue ersetzt.
+ * CONFIG: Default Intervalle vergrößert um Systemlast zu reduzieren
+ * Log: Bei verbose=5 wurde falsches Modul, als aufrufendes Modul angezeigt
+ * SVDRP: Komplett überarbeitet, um mittels Timeout, ein Blockieren der Kommunikation zum VDR zu verhindern.
+ * LOG: Bug[272] Nach logrotate wurden keine neue Logdatei erstellt.
+ * EPG/AUTOTIMER Aufbau von Suchabfrage optimiert
+ * TIMER: Bug[237] Link zum Bearbeiten von Autotimer aus Timerliste hatte falsche ID
+ * USER: Logout nur Anzeigen wenn USER::active
+ * USER: Username nur Anzeigen, wenn USER::active und NoAuth nicht zutrifft.
+ * VTX: Übergabe der Parameter zum Widget zu den anderen Modulen angeglichen
+ * CHANNELS: Bei DVB-C(PVR) mit Transponderfrequenz unter 100MHz wurde ChannelID falsch generiert.
+ * EPG: Zugriff auch auf inaktive Timer über die zugehörigen EPG Einträge ermöglicht, bisher wurde ein neuer Timer angeboten.
+ * Skins: Datumsaugabe abhängig von den aktiven Ländereinstellungen ausgeben.
+ * STATUS: Bug[248] SCSI-Festplatten wurden nicht in der Hardwareliste angezeigt.
+ * Suche per ( ) ? schlug fehl
+ * Nicht alle Schnittpunkte der marks.vdr wurde eingelesen
+ * Vorschaubilder werden aus der gesamten Aufnahme erstellt
+ * Keine Mehrfachanzeige des Logindialogs, bei Abbruch des Loginvorganges
+ erscheint sofort eine Meldung "Zugang verboten"
+ * Überprüftung der Datenbanktabellen robuster gemacht (Defekte Tabellen ohne "Userdaten" werden gelöscht)
+
+0.80 (stable):
+--------------------------------------------------------------------------------
+* Fixes:
+ * EPG/search: Bug[191] SQL-Fehler bei Suche nach Sendungen in einem Sender ohne Suchtext
+ * EPG: Funktion epurge entfernt.
+ * SVDRP : xxv versuchte auf einem geschlossenen Socket zu lesen.
+ * EPG: tvm2vdr images wurden nicht angezeigt.
+ * EPG: nicht alle tvm2vdr images wurden angezeigt.
+ * xxvd: Meldung 'GoodBye' entfernt.
+ * html: Bugfix[189] Bei Gruppenwechsel in now wurde die Zeit nicht übergeben
+ * locale: gettext-Ausgabe in Format ISO-8859-15 unabhängig der Umgebungsvariablen
+ * rlist/rsearch: Anzeige der freien Kapazität
+ * music: Wiedergabe ohne Proxy per Javascript unter IE schlägt fehlt
+ - Fehlermeldung: 'length' ist NULL oder kein Objekt (berichtet von Andreas Wellmann)
+ * RECORDS: Freien Kapazität inkorrekt berechnet
+ * Tools: typo im regex (DANKE an Malte)
+
+
+0.72 (beta):
+--------------------------------------------------------------------------------
+* Fixes:
+ * docu.tmpl: nicht nur im POD, sondern auch im DOCU und SKIN Verzeichnis suchen
+ * STREAM: mime-typ editbar gemacht, für Livestream/Wiedergabe Mime-Typ default: video/x-mpegurl,
+ zur korrekten Unterscheidung zum Streaming von Musik (audio/x-mpegurl)
+ * AUTOTIMER/TIMER: bei vom Autotimer angelegten, aber manuell modifizierte Timern
+ wurden vom AUTOTIMER permanent die Modifizierungen überschrieben.
+ * MUSIC: muggle-Database/Streaming funktioniert nicht, Path zur Datei fehlte
+ * SVDRP: Entfernen des EVENT-Logging für SVDRP Commands, um Rekursion über NEWS::VDR zu verhindern.
+ * Anpassung von getVdrVersion an VDR maintenance patch 1.4.0-1
+ * install.sh Bug[183] (Ronny Kornexl)
+ + Modus "force" für Installation der Module hinzugefügt
+ + Typo doc/INSTALL
+ + install.sh Datenbankname wird aus etc/xxvd.cfg.example übernommen bzw. lässt sich per Parameter ändern.
+ + Weitere Optionen hinzugefügt, um per eigenen Wrapper etc/xxvd.cfg umzuschreiben (Details im install.sh)
+ * SVDRP: Rekursion über NEWS::VDR entfernt.
+ + Es wird kein Connect vorgenommen falls der socket noch offen ist.
+ * SHARE: TopTen Daten werden im Intervall und beim Start gecacht.
+ * SHARE: SOAP wird nur konnektiert wenn active gesetzt ist.
+ * bin/xxvd : Version auf 0.72 geändert
+
+
+0.71 (beta):
+--------------------------------------------------------------------------------
+* Feature:
+ * now/next Ausgabe mit CHANNELSGROUPS - FEATUREREQUEST[145]
+ * HTTPD: Skinsauswahl sortieren
+ * GRAB Image mit VDR1.3.38
+ * AUTOTIMER: FEATUREREQUEST[146] neues Kommando asearch
+ * html: FEATUREREQUEST[147] day mit weekdays
+ * global: etc/xxvd.cfg nach etc/xxvd.cfg.example umbennant wegen FEATUREREQUEST[150]
+ * Installationsscript "install.sh" hinzugefügt
+ * RECORDS: Serverpush auch nach rdelete und redit FEATUREREQUEST[153]
+ * CHANNELS: getChannelType('Channelid') gibt den Type des Channels zurück('TV', 'RADIO')
+ * RECORDS: Neue Spalte in Tabelle Records (type)
+ * RECORDS: Radioaufnahmen werden bei videoPreview übersprungen (Danke Torsten/WarEagle)
+ * EVENTS: Neues Modul um eine Eventdatenbank zu erstellen FEATUREREQUEST[126]
+ * ALLMODULES: Neuer Parameter im modulePrefs 'RegEvent', Erläuterungen stehen in
+ AUTOTIMER->ModuleEigenschaften
+ * SHARE: Neues Modul für das Managment zum SOAP-Server (XXV-Server s.u.)
+ * Tools: neue routine getDataById($id, $table, 'Id'), macht einfach ein
+ select * from tabname where keyname = id
+ * AUTOTIMER: Der Abschnitt Module->RegEvent wurde noch um die
+ Optionen 'Match' sowie 'Actions' erweitert.
+ * RECORDS: Anzeige der Gesamt(abspiel)zeit
+ * TIMER: An 1.3.44 angepasst, im AUX-Feld wird nur noch das Autotimer ID gespeichert,
+ die Beschreibung kommt zum Aufnahmezeitpunkt aus dem EPG
+ wird aber bei Editieren des Timer als zusätzliche Beschreibung "schreibgeschützt" angezeigt
+ * EVENTS: Handling abgeschlossen. Es gibt ein neuen Logger mit dem Namen event,
+ dieser wird geparst und nach entsprechenden
+ Matches gesucht die xxv signalisieren eine Message an die NEWS::* zu schicken.
+ * AUTOTIMER: Falls eine Verbindung zur SOAP-DB exisitiert werden die programmierten Timer
+ automatisch bewertet und gespeichert.
+ * Tools: neue Routine getDataByTable
+ * TIMERS : Event wenn neue Timer auftauchen die keine Autotimer sind
+ * TIMERS : Tuning beim suchen nach nextepgid, alte Daten werden weiter verwendet.
+ * TIMERS : Neues Feld in Table 'checked'. *** DB Update *** ver. 16
+ * STATUS : Featurerequest[152] Option damit statt der Tortengrafiken auch eine
+ Tabelle angezeigt werden kann.
+ * STATUS : Featurerequest[152] Die gemounteten Filesysteme werden jetzt mit angezeigt.
+ * MUSIC : Featurerequest[38] Angefangen das Musicmodul muggle kompatibel zu machen.
+ * MUSIC : Featurerequest[38] Aktualisieren mit mugglei.
+ * MUSIC : Featurerequest[38] Auch das streamen der Titel funktioniert jetzt mit muggle.
+ * NEWS::RSS : zusätzlicher Parameter (...?cmd=request&data=rss&__version=2) bei Request
+ zur Auslieferung von RSS Feeds in Version 1.0 o. 2.0
+ * MUSIC : Coverdaten werden jetzt per Amazon Webdienst geholt.
+ Umstellung der Benennung von album.jpg nach artist-album.jpg für mehr Eindeutigkeit.
+ * SHARE : Neue Funktion TopTen: Stellt die 10 beliebtesten Sendungen in einer Tabelle dar.
+ * EPG : Audio- und Videoinformationen werden jetzt mit abgespeichert und angezeigt
+ * INTERFACE : Ist jetzt ein SOAP Server der durch dritte Programme genutzt werden kann
+ * rdisplay : Anzeige des Kanal auf dem die Aufnahme getätigt wurde.
+ * SHARE : Design for TopTenTable
+ * TIMERS : Neuer Event 'toogleTimer' jetzt auch mit 'on|off' auswertung -> und gefixt
+ * EPG,AUTOTIMER: VPSPatch von Malte. VPS-Zeiten werden übernommen falls VPS genuzt wird (DANKE Malte Schroeder!!)
+ !!! NEUE DB VERSION 20 !!!
+ * EPG : Advanced Search mode!
+ * AUTOTIMER : Suche erweitert um Sonderzeichen '&', hiermit kann man nach txt UND txt suchen.
+ * EPG : Advanced Search mode erweitert um Channel und mindestlaenge.
+ * HTTPD : Bugfix[177] Neuer Parameter Proxy für weitergeleitete calls (Danke Andreas Freund!)
+ * RECORDS: Reduzierung der Festplattenaktivitäten beim Aktualisierung im Hintergrund.
+ Aufnahmeverzeichnis wird nur noch neueingelesen, wenn VDR eine veränderte Aufnahmeliste meldet.
+ * bin/xxvd : Version auf 0.71 geändert
+ * EPG : Proxy entfernt und Lösung von Bugfix[177] eingecheckt (DANKE Andreas Freud)
+ * default : JS-Lösung von Bugfix[177] eingecheckt (DANKE Andreas Freud)
+ * NEWS : News für neue Beta 0.71
+
+
+* Fixes :
+ * etc/xxvd.cfg.example an vanilla vdr Installation angepasst,
+ * etc/xxvd.cfg.example Portnummer 8001 für TELNET (8081),INTERFACE(8082) angepasst um überschneidung mit vdradmin zu vermeiden
+ * next: Progressbar mit 100% ausgeblendet
+ * STATUS : df dran gehindert das es auch im NFS nachschaut
+ * EPG : imdb wieder rausgeschmissen ;)
+ * xxvd: Priorität der Suche der xxvd.cfg geordnet. 1. per configfile <--> 2. ~/.xxvd.cfg <--> 3. $RealBin/../etc/xxvd.cfg
+ Anzeige des verwendeten Dateinamen von xxvd.cfg im Logfile
+ * MUSIC: im Javascript MUSIC::PROXY in URL eingefügt siehe cmd=mplaylist ... &binary=1
+ * RECORDS: keine Preview erstellung für Aufnahmen mit (')
+ * REMOTE/cmd: Ausgabe der hardcodierte HTMLTAGS auf param.tags umgestellt
+ * xxvd: Ermittlung der Revision mit svnversion (Falsche Ausgaben mit SVN 1.3)
+ * RECORDS: Redesign der Aufnahme- Dateizuordnung
+ * RECORDS: Fehlerhafte Meldung wenn Aufnahmen mit %-Zeichen nicht zugeordneten werden konnten
+ * STATUS: Tabelle war fehlerhaft am Anfang
+ * AUTOTIMER: Aufräumen beendet
+ * AUTOTIMER: FEATUREREQUEST Sendungen ausschliessen die mit gleichem Daten auf einem anderen Sender erscheinen
+ * TIMERS: Done hatte nicht funktioniert wenn 2 neue Timer in einem Durchgang gefunden wurden.
+ * HTML: Progressbalken per Server-Push wird jetzt Browserabhängig nur noch bei Mozilla-Derviaten und IE angezeigt BUG[153]
+ * redit: Änderungen des Descriptionfeldes der Aufnahme wurden nicht in Datenbank neueingelesen
+ * RECORDS: Für Aufnahme mit Singlequote ' bzw '%' im Subtitel wurden permanent Vorschaubilder erstellt.
+ * RECORDS: Bug[149/157] Verhindern des wiederholten versuchen Vorschaubilder zuerstellen.
+ xxvd_mplayer.log wird jetzt im jeweiligen Verzeichnis der Vorschaubilder abgelegt.
+ und es werden maximale zwei Durchläufe durchgeführt, um auch alle Vorschaubilder für gerade gestartete Aufnahme zu erhalten.
+ deshalb heissen die Logdatei jetzt jeweils preview_1st.log und preview_2nd.log
+ * RECORDS: Fehler in Vorschaubilderbehandlung Kommandostapel wurde nach fork nicht geleert
+ * GRAB: Erweiterte Fehlerbehandlung falls GRAB des Bildes fehlschlägt
+ * RSS: Ausgabe des Eventdatum, nach Dublin Core
+ * CHANNELS: Erste Zeile mit Gruppe wurde nicht erkannt, a'la :@1 TV Sender
+ * RECORDS: Der Beschreibungstext wurde bei (|)-Umbruch abgeschnitten
+ * AUTOTIMER: Es wurden noch ein paar alte Zeitformatroutinen benutzt.
+ * EVENT: Aktiviert/Deaktivbar gemacht
+ * EVENT: Ausgaben in Logdatei umgeleitet
+ * CONFIG: Eingabe von "0" zulassen, und nicht mehr mit Default überschreiben.
+ * AUTOTIMER: Lifetime mit '0' zulassen
+ * SHARE: Wenn Server nicht erreichbar, dann nur Fehlermeldung!
+ * SHARE: Wenn ein Level gesetzt wurde muss dieser in dem Hash ebenfalls gesetzt werden.
+ * Skin: Anzeige des Levels in default und xstyle eingebaut.
+ * STATUS: Bugfix[151] Panikmeldung bei gemounteten CDROM, mounts mit cdfs und iso9660 werden ignoriert
+ * TIMERS: Keine Events für neue Timer beim Neustart
+ * Records: vdr2jpeg scheint manchmal seine Arbeit nicht fertig zu machen ;) In manchen Ordnern liegen Filesysteme
+ die ungefähr so aussehen: tmp-vdr2jpeg-74d5b3fe07.jpg Deswegen auch ab und zu fehlende Bilder ... gefixt.
+ * EPG: Bugfix[161] epgrestart gefixt.
+ * NEWS::RSS : RSS Entrys werden jetzt richtig angezeigt.
+ * xxvd : Use of uninitialized value in substitution (s///) at /root/XXV/bin/xxvd line 180 ... fixed
+ * Timers: Bugfix[163] Falsche Zuordnung der events in der Timerlist.
+ * AUTOTIMER: Bugfix[164] Aus Sicherheitsgründen beim Autotimerexport verhindern das Dateien überschreiben werden.
+ und Warnung ausgeben wenn Liste der Autotimer leer ist.
+ * MUSIC : Genres auswahl funktioniert jetzt
+ * EPG : Bugfix in getId routine.
+ * SHARE : Falsche Reihenfolge der Parameter
+ * MUSIC : ständige Fehlermeldung bei muggle und STATUS
+ * DB Stuktur Datentypen überarbeitet. *** DB Update *** ver. 18
+ * SHARE : XXV stirbt ohne Internetverbindung, selbst wenn SHARE inaktiv ist
+ * Tools : Bugfix[168] Doszeilenumbrüche beim abspeichern.
+ * RECORDS : Bugfix[166] Aufnahme: 'titel', konnte nicht nach 'titel~serientitel' umbenannt werden.
+ * RECORDS : Bugfix im gemäß VDR im VFAT Modus '.' am Ende von Directoryname mit #2E kodieren.
+ * AUTOTIMER : Bugfix[170] Umlaute in sql statement.
+ * MUSIC : Bugfix[167] Fehlermeldung und abbruch des Starts wenn GiantDisc DB nicht erreichbar.
+ * EPG : EPG Ids in allen Tabellen auf bigint geändert. !!! NEUE DB VERSION 19 !!!
+ * MUSIC : Reconnect bei ändern des muggle wertes.
+ * MUSIC : mlist(muggle) nur die Genres anzeigen, die auch mit Titeln hinterlegt sind.
+ * RECORDS: Nur die zweite von aufeinanderfolgende Aufnahme mit gleichem Titel wurde angezeigt.
+ * MUSIC : default in YEAR war falsch. !!! NEUE DB VERSION 21 !!!
+ * RECORDS : typo in deleteRecordEvent.
+ * SHARE : Wenn der SOAP Server nicht erreichbar ist, stürtzte xxv ab.
+ * TIMERS : Beim 2. Refresh der Timerdaten werden die Sendungen bewertet und zum Server geschickt.
+ * USERS : Bugfix[154] Temporäre Dateien werden unter / abgelegt, wenn Modul Users inaktiv
+ * SHARE : Bugfix[175] Es wurden weniger als die ersten 10 angezeigt.
+ * AUTOTIMER : Bugfix vom Autotimer werden keine Timer mehr mit VPS-Flag erzeugt (Danke Malte!)
+
+* Others :
+ * XXV-Server : ist per subversion erreichbar (Projekt XXV-Server)
+ * Dieser Server wird erstmal zu Testzwecken bei mir zu Hause laufen.
+ * Er baut komplett auf das SOAP Protokoll auf und ist z.Zt. für die automatische
+ Bewertung der EPG-Einträge vorgesehen. Siehe auch FEATUREREQUEST[126], die Daten werden
+ anonym gespeichert und erscheinen später als Sternchen ;) neben der Sendung. In XXV hab ich
+ es noch nicht eingebaut, da ich das Teil erstmal unter Last teste.
+ Jedenfalls schafft er ca. 5000 calls/sec, das sollte erstmal reichen.
+ * Hier einige Ideen noch dazu:
+ - globale EPG Datenbank: XXV wäre in der Lage seine EPG-Daten mit dem Server abzugleichen, falls der
+ Server weniger Informationen zu der Sendung hat kann XXV die fehlenden Daten schicken. Natürlich gehts
+ auch andersrum, XXV holt sich dir Mehrinformationen vom Server. Dadurch würde es schon reichen wenn einer
+ mehr Informationen zu einer Sendung hat und die xxv's aktualisieren sich automatisch.
+ - TopTen: Man könnte sich die TopTen der nächsten Tage als Liste anzeigen lassen (Viele Bewertungen mit Hoher Punktzahl)
+ um keine Sendung mehr zu verpassen.
+ - Guess: XXV könnte in Verbindung mit dem Server schätzen welche Sendungen dem root gefallen könnten und bei Bedarf
+ Sendungen empfehlen.
+
+0.60 (stable)
+--------------------------------------------------------------------------------
+* Fixes :
+ * configedit: Sortierung der Questions case insensitiv (Active erscheint damit immer als erste Option)
+ * HTTPD: 403/404-Fehlermeldung ohne doppelten footer ausliefern
+ * REPORT/RSS: alternativen link des rssfeed nur bei aktivem Modul report anbieten
+ * CHANNELS: Anlegen von neuen Kanälen schlägt fehl
+ * CHANNELS: SVDRP Fehlermeldung werden per err-Widget ausgegeben
+ * mini-install.sh : Developer script zum schnellen Installieren auf anderen Maschinen
+ \-> NICHT STARTEN, es sei denn ihr wisst was ihr tut ;)
+ * TIMERS : kleiner Fehler wenn keine Timer programmiert wurden
+ * contrib/upgrade-xxv-db.sql : AUTOTIMER, VPS auf default 'n' gestellt (Tobias Grimm) *** DB Update
+ * Changelog reorder (Wolfgang Rohdewald)
+ * stream: Html-Footer wurde bei livestream playlist mitgeliefert
+ * Html.pm: in Templates nutzbare routine getModule
+ * CONFIG.pm : neue Methode realModNames
+ * MUSIC : kein Parameter host mehr, wird jetzt von STREAM genommen
+
+0.52 (release candidate)
+--------------------------------------------------------------------------------
+* Fixes :
+ * xxvd : neue Version in Vorbereitung der stable!
+ * a-/tedit : Genauer Überprüfung der Eingabe Parameter
+ * rdisplay.tmpl : Fehler beim Löschen von Aufnahmen
+ * NEWS::MAIL : Änderungen an user sowie passwort waren unwirksam.
+ * NEWS::JABBER : Kommt beim Start kein connect zustande so stürzte xxv komplett ab.
+ * AUTOTIMER : Classic mode (DIR~TITLE~SUBTILE) funktionierte nicht
+ * EPG : Fulltext index wieder rausgenommen, da bei insert die cpu last zu hoch war. *** DB Update notwendig
+ * TELNET : Bugfix(144) ReadLine wird jetzt auf explizit Perl Interface eingestellt.
+ * html : Bugfix(143) Sortiersymbole durch Bilder ersetzt.
+ * VTX: Zeichen 0x7F wurde falsch dargestellt
+ * CHANNELS : clist.tmpl - Schalter zum umschalten ([S]).
+
+
+
+0.50 (beta fixes 1-4)
+--------------------------------------------------------------------------------
+* Neue Feature:
+ * Autotimer : den Parameter exclude so abgeändert das nur noch angeben werden muss das
+ z.B. 'POS > 50' ist und in die Kanalliste nicht aufgenommen wird.
+ * Das hat den Vorteil das man nicht ewig auf das Autotimer-Formular warten muss (bei mir > 30s).
+ LEIDER WIRD DIE ALTE EINSTELLUNG 'POS1,POS2,POS3,...' DURCH 'POS > 50' ERSETZT!
+ Das muss leider sein, damit der autotimer-parser nicht dadrüber stolpert.
+ BITTE DEN WERT NACH EINEM UPDATE BEI EUCH ANPASSEN!
+
+ * HTTPD : incl. "Expires" Header
+ * main::DBCache : simpler Cachemechanismus um z.B. 'schema'-Abfragen zu beschleunigen.
+ * search.tmpl : Jetzt werden hier auch die Konflikte mit vorhanden Timern per Ajax dargestellt.
+ * HTTPD : neuer Parameter Debug, ist dieser == 'y' dann wird die Debugconsole im Browser angezeigt.
+ * LOGREAD : neue Methode tail, zum auslesen einer bestimmter Anzahl von Zeilen eines Logs
+
+* Fixes :
+ * Status : Bugfix(113) Tortendiagramme in Status::Filesystem sind teilweise falsch (Joachim Wilke)
+ * VTX : Option 'legacy'/'packed' syncron zur Beschreibung sortiert
+ * TELNET/rupdate : Ausgabe einer falsche Anzahl von Aufnahmen
+ * AUTOTIMER : Bugfix(117) Erstellen von Autotimern für Kanäle möglich, die von Autotimersuche ausgeschlossen wurden
+ * MUSIC : Falsche Anzeige der Abspielzeit von Titeln >= 1 Std.
+ * NEWS::RSS : Sonderzeichen als Entities kodieren
+ * WAPD: Anpassung nach Vorschlägen von http://www.validome.org/validate
+ * All : Bugfix(111) Die Tabellenüberschriften wurden nicht übersetzt.
+ * html - tlist : Bugfix(118) Nach Löschen von Timern erschien Navigation doppelt.
+ * html - alist : Bugfix(118) Nach Löschen von AutoTimern erschien Navigation doppelt.
+ * USER : mehr Doku und Standardweg zum Beschreiben von Methoden innerhalb der Plugins.
+ * html : Javascript und Styles werden extra geladen.
+ * html - display : Fix wg. localisierung.
+ * aedit/uedit : Fehlende Übersetzung der Auswahlfelder implementiert.
+ * AUTOTIMER : Spagetticode aufgeräumt ;)
+ * REMOTE : default pfad zu commands.conf angepasst (Tobias Grimm)
+ * contrib/update-xxv : user und host-Parameter wurden nicht verwendet (Tobias Grimm)
+ * *.pm : default pfade debian typisch geändert (Tobias Grimm)
+ * bin/xxvd : und wieder mal ein neuer Parameter --poddir (Tobias Grimm)
+ * html : Bugfix(122) es konnten keine Timer,Autotimer,User usw. unter Firefox gelöscht werden.
+ * widgets : neues Standardtemplate referer.tmpl
+ * Tools : fix in der int routine, komma vergessen, deswegen die übergrossen Durations in den Records
+ * Tools : entities ist jetzt fest in Tools.pm integriert
+ * NEWS::RSS : Html-Footer wurde bei rss feed mitgeliefert
+ * Console : Bugfix(119) Sooo, jetzt haben wir auch Tabellen an den Stellen wo sie vorkommen sollen. ;)
+ * all : unklassifizierte warn-Meldungen den Leveln panic/error/lg zugeordnet
+ * tools : permantentes dumpen des Call-Stacks unterbunden
+ * Whene creating the database tables, set actual db version instead of "1"
+ * now: Failed with parameter as time like 12:00
+ * NEWS::Mail - from adresse ist konfigurierbar (wilderigel)
+ * html : *.tmpl - alle Berechnungen von 600 -> 06:00 wird jetzt von fmttime in Tools.pm erledigt
+ * now.tmpl : Bugfix(127) neue Autotimer werden nur erstellt, wenn keine Startzeit angegeben wird ... gefixt (Sledge Hammer)
+ * tlist.tmpl : Fehler, wenn man einen Timer löschen wollte ... gefixt.
+ * footer.tmpl : Debuggingbox, die die letzten Logeinträge sowie den Variablenstamm des Templates anzeigt.
+ * Tools : kleine Benchroutine hinzugefügt
+ * CHANNELS : in ChannelArray und ChannelGroupsArray kann jetzt als 2. Parameter ein where-klausel mit angegeben werden.
+ * MUSIC : bei der Playliste wurde noch der HTML-Footer mit gesendet.
+ * HTML : Fehlermeldungen erscheinen jetzt wieder korrekt (s.a.Bug(127))
+ * NEWS::Jabber : Es wird jetzt grundsätzlich zuerst eine Verbindung zum jabberserver aufgebaut und nach dem
+ Senden der Message die Verbindung wieder unterbrochen. $j->Connected war unzuverlässig.
+ * NEWS::Mail : Wird der Parameter interval geändert, so wird dieser sofort in dem laufenden Event übernommen.
+ * NEWS::Mail : Neuer Paramter from_address zum festlegen der reply email adresse.
+
+
+
+0.50 (alpha)
+--------------------------------------------------------------------------------
+* Fixes :
+ * RECORDS : nice wird jetzt korrekt angegeben mit 'nice -n 19' Danke steffx
+ * xxvd : Bei einer exportierten Version gabs eine Fehlermeldung
+ ('/lab/vdr-1.3.34_new/tools/xxv-0.50' is not a working copy)
+ * NEWS::TiMER : News Message bei start eines timers hatte nicht funktioniert
+ * etc/xxvd : Parameter --moduledir nachgerüstet
+ * Makefile : mit sed das sqldump kompatibel zu 3.xx bearbeitet
+ * Html : pod2html.tmp files werden jetzt nach /tmp geschrieben
+ * RECORDS : Bugfix(107) Parameter für Frames wurde mit Nachkommastelle an das Previewcmd übergeben.
+ * RECORDS : Bugfix(107) Bei VDR mit Recording Length Patch wurde, die Aufnahmedauer falsch berechnet
+ und damit versagte die Vorschaubilderzeugung bei kurzen Aufnahme (Ingo Göppert)
+ * WAIT : für Telnet deaktiviert, und so umgestellt das so früh wie möglich der erste Screen angezeigt wird und
+ zur Performencesteigerung nur noch ein Push per Sekunde gesendet wird, sonst wäre bei
+ großer Anzahl von Aufnahmen, Musikstücken oder Autotimer der Waiter nur eine zusätzlich Bremse.
+ * CONFIG : Bugfix(112) Tabelle der Daten nach abvspeichern deaktiviert, da sonst die Passwörter im Klartext
+ angezeigt wurden. Danke an Joachim Wilke.
+ * bin/xxvd : Bugfix(110) Richtige Fehlermeldung bei Syntax Error in der Config.
+
+
+
+0.45 (develop only, no public release)
+--------------------------------------------------------------------------------
+* Neue Feature :our $DUMPSTACK = 0;
+ * Alle: Prioritäten festgelegt: für Interaktion = high und Jobs = low
+ * General : Neue Funktion (restart) um xxv vom webinterface aus neu zu starten -
+ * Grab : Neuer Parameter:vpos um Schrift im Grabimage zu positionieren
+ * CHANNELS : Gruppen hinzugefügt
+ * USER : Bug(50) MaxLifetime und Prio für User
+ * EPG : Bug(46) Previewimages in epg.display anzeigen
+ * Unter Einstellungen->Epg kann man den Pfad zu den previewimages angeben.
+ * Falls ein Bild vorhanden ist wird dieses in einem zusätzlichen Feld in
+ * EPG.image eingeschrieben.
+ * USER : Bug(69) IP Authentication in User
+ * HTTPD : Bug(79) Übertragung mit gzip (wieder zurückgenommen, hatte nicht funktioniert)
+ * Schema : rote Linie um die aktuelle Zeitposition besser zu erfassen
+ * HTTPD/mlist: Bug(35) ToDo: Coverbilder des MP3 Plugins für Albumvorschau nutzbar, durch konfigurierbares Verzeichnis
+ * VTX: Suchfunktion mit Highlighting der Fundstelle
+ * RECORDS/AUTOTIMER : Bug(37) Fortschrittsbalken (Server-Push) für Update
+ * HTTPD : Unterstützung von gepackten Websites (GZIP)
+ * xxvd : Bei der Routine "After" kann jetzt über das dritte Argument die Reihenfolge angegeben werden.
+ * TIMERS: Timer werden jetzt über das svdrp interface eingelesen
+ * MUSIC: Bug(81) Alben und Interpreten sind verlinkt
+ * CHANNELS/cedit: Reihenfolge der Kanäle editierbar (aber VDR 1.3.32)
+ * Schema/Now/Next : wird jetzt nach den ChannelGroups angezeigt
+ * General : Neuer Befehl more zum Anzeigen der Textfiles -
+ * LOGREAD : Neuer Befehl logger zum Anzeigen der Logfiles -
+ * html : neu Template logger.tmpl mit helptip.js und helptip.css
+ * menu : neuer Tree Loginfo mit den Logs: xxvd.log, xxvd_mplayer.log und syslog
+ * menu : neuer Tree Documentation mit den Files: $SOURCEDIR/*.txt
+ * General : komplett neues loginterface, in Zukunft kann der Entwickler zwischen folgenden Levels unterscheiden:
+ * debug : wird mit errorcode 250 (harmlos) ausgegeben
+ * lg : wird mit errorcode 202 (harmlos) ausgegeben
+ * warn : wird mit errorcode 305 (achtung) ausgegeben
+ * error : wird mit errorcode 501 (problem) ausgegeben
+ * panic : wird mit errorcode 550 (absturz) ausgegeben
+ * General : dadurch hat sich das Logfileformat ein wenig geändert:
+ * z.B.: "29 (201) [03:24:55] Dokumentation wurde in '/root/XXV/doc' generiert"
+ - (Count)(Errorcode)(Zeit) (Message)
+ * xxvd : neuer Parameter --verbose = [0 .. 5] -
+ * verbose = 0: Keine Ausgabe
+ * verbose = 1: panic und error Ausgabe
+ * verbose = 2: debug,panic und error Ausgabe
+ * verbose = 3: warn,debug,panic und error Ausgabe
+ * verbose = 5: alle Informationen werden ausgegeben (kann sehr viel werden :)
+ * verbose > 5: alle Informationen werden mit Stacktrace ausgegeben (kann sehr sehr viel werden :)
+ * MUSIC : mcovers neuer parameter (force) zum trotzdem einlesen aller Covers wenn gewollt
+ * OUTPUT : Ayax.pm erste Version von Ajax eingebaut
+ * EPG (Bug93): display, now, program und search ...
+ * per Ajax werden die Links für aufnahme gekennzeichnet um Konflikte gleich darzustellen.
+ * im title wird dann die Timernumber erwähnt.
+ * geht leider noch nicht im IE ;(
+ * Tutorial : Neues Tutorial zum Nutzen des Ajax Features
+ * REPORT : Neues NEWS::MAIL Modul und NEWS::RSS Modul
+ * diese Module befinden sich ab jetzt in dem Ordner $SOURCEDIR/lib/XXV/OUTPUT/NEWS/*.pm
+ * diese Module benutzen eigene Widgets die ab jetzt unter $SOURCEDIR/share/news/*.tmpl liegen
+ * für RSS muss XML::RSS nachinstalliert werden
+ + perl -MCPAN -e "install XML::RSS"
+ + perl -MCPAN -e "install Digest::HMAC_MD5"
+ + apt-get install libxml-rss-perl
+ * Einstellungen können in allen Interfaces unter Einstellungen -> NEWS::* vorgenommen werden.
+ * den RSS Feed kann man sich mit http://vdr:8080/?cmd=request&data=rss in einem beliebigen RSS-Reader anschauen
+ * die Mail kann man sich mit http://vdr:8080/?cmd=request&data=mail im Browser anschauen
+ * General : Testen der aktuellen Dbversion eingebaut -
+ * zusätzliche Option in bin/xxvd --contrib -
+ * zusätzliche Option in bin/xxvd --newstmpl
+ * zusätzliche Option in bin/xxvd --newsmods
+ * html : Search - how much lines found in title
+ * REPORT : News message beim laden von Report
+ * RECORDS : Neuer Befehl rplay um eine aufnahme im vdr anzuspielen
+ * REPORT : Url wird schon in ->news zusammengestellt
+ * NEWS::* : Unter Preferences::level kann festgelegt werden welche News man auf diesem Kanal sehen möchte
+ * NEWS::* : Wenn active == 'n' dann wird das Modul nicht geladen
+ * NEWS::RSS : zusätzlicher searchlink eingebaut
+ * NEWS::JABBER : Neues News Modul um News als jabber messages zu senden
+ * NEWS::VDR : Neues News Modul um News an vdr mittels Svdrp mesg zu senden
+ * NEWS::* : Neuer Punkt unter MOD->{Prereq}
+ * hier werden die Module aufgelistet die installiert sein müssen damit das Modul läuft
+ * Beispiel in NEWS::MAIL:
+ * Prereq => {'Mail::SendEasy' => 'SMTP Protocol module to connect and send emails', ... },
+ * wird nach und nach auch in die anderen Module mit rein kommen
+ * ist ebenfalls in der doc/docu.tmpl für die pods integriert
+ * Einstellungen : Bei host, file, dir wird jetzt direkt Über Ajax geprüft ob die
+ Files vorhanden sind oder der host erreichbar ist.
+ * die Checkroutine befindet sich in der global.js unter dem Namen checkValue
+ * die widgets file, dir, host wurden mit dem Checkframework ergänzt
+ * All : in allen Modulen wurde jetzt der Prereq Eintrag ergänzt,
+ * Dadurch sieht man sofort beim Starten, ob noch Module fehlen und wie man die letztendlich installiert
+ * Die Module die nicht dabei sind werden als Standardmodule bei Perl mitgeliefert (File::* z.B.)
+ * NEWS::Event : Zum startzeitpunkt eines Timers wird eine Message mit Level 25 an die NEWS Module geschickt
+ * NEWS::Event : Neue Kanäle werden mit Level 50 gemeldet
+ * NEWS::Event : Meldung wenn die Festplatten weniger als 10% platz frei haben mit Level 75.
+ * Skins : Sollte ein File GENERICTYP mit einem entsprechenden Eintrag (z.B. 'application/vnd.mozilla.xul+xml') im root
+ des Skins vorhanden sein. Wird bei allen HTTP-Headern dieser als Type eingesetzt. Ausser beim startfile
+ (index.tmpl o. index.html) sowie den anderen nichttemplatefiles.
+ * xxvd : neuer Parameter --nofork fürs debugging, xxvd forkt sich dann nicht mehr wenn dieser Parameter gesetzt wurde
+ * xxvd : verbose parameter auf default Level 3 gestellt.
+ * HTTPD : unzip - Uncompress Files in gz format.
+ * Console : Texthandling für more im Telnetinterface gespeichert.
+
+* Fixes :
+ * TIMER : Statt neu erstellen eines fehlerhaften Timers wird dieser jetzt nur noch modifiziert.
+ * USER : Telnet interface an IP Auth angepasst
+ * USER : Warnung ausgeben, falls ein User versucht eine IP ohne Range anzugeben.
+ * EPG/display : Wochentage für Start/Stop der Sendung werden übersetzt
+ * HTTP/MUSIC/RECORDS/STATUS: Verzeichnis Preview aufgelöst und Modulweise konfigurierbar außerhalb der Skins verlagert (/var/cache/xxv/...)
+ * Unter Einstellungen->
+ * MUSIC => coverimages (/var/cache/xxv/covers)
+ * RECORDS => previewimages (/var/cache/xxv/preview)
+ * USER(STATUS) => tempimages (/var/cache/xxv/temp)
+ * VTX/images : in ein gemeinsames Verzeichnis zusammemgefasst, damit nicht jeder Skin diese mitliefern muss.
+ * Verzeichnis mit VTX Bildern per Kommandozeilenoption einstellbar
+ default xxvd --vtxdir=$XXVBINDIR/../share/vtx
+ * VTX einzelnen falsche Zeichen ausgeblendet
+ * STATUS : Anzeige des PCI Buses nur wenn /proc/pci vorhanden ist
+ * STATUS : Dateisystem mit '-' wie /dev/mapper/mylvm-lvol0 wurde nicht angezeigt
+ * Templates : statt user.name nur user
+ * AUTOTIMER: Timer-Beschreibung werden nachgeführt(erweitert),
+ wenn sich der EPG-Text ändert. (nur wenn ~#AT[xx]) vorhanden ist)
+ * WAPD: Funktionell leicht erweitert
+ * Datenmenge von Listen (einstellbar per skin.cfg) auf 5 Cards pro Durchgang reduziert
+ * Grundmenge der widgets angelegt
+ * EPG now/+next/+program/+search
+ * Timer tnew/tedit/tdelete
+ * getestet mit wmlbrowser(Mozillaplugin)/ Klondike WAP Browser/ Opera/ www.wapsilon.com
+ offene Probleme (Patch willkommen) :
+ - bei Opera8.0 - falsche Vorauswahl in Selectfeldern (ivalue = Item * 1)
+ - Caching der Eingabefelder muss noch deaktiviert werden...
+ bzw. deren WML-Page-Variablen beim Laden des Formular zurückgesetzt werden
+ - Browserrequest produziert Unknown Request:
+ * TIMERS: doppeltes einlesen der timerdaten bei list und ttoggle, fehlerhaftes verfahlten (Bug 83)
+ * Html.pm : Es wird die interne c-Engine von Template genutzt (doppelt so schnell)
+ * es wird eine entsprechende Warnung im Log ausgegeben wenn die langsame (mitgelieferte) Version
+ von Template genutzt wird.
+ * getCheckTimer übernimmt VPS Status
+ * WAPD Bitmap Dateiendung auf wbm geändert
+ * STREAM : Entfernen des ffserver stream gedöns
+ * NEWS.txt : kleinere Änderungen
+ * html/rlist : Title und subtitle sind in der tabellendarstellung auch verlinkt
+ * html/rlist : Title und subtitle mit truncate gekürzt
+ * General : 'log' auf 'lg' umbenannt
+ * MUSIC : wenn alle covers schon vorhanden waren, spielte das getcovers verrückt
+ * REPORT : RSS wieder rausgenommen
+ * REMOTE : Bug 95: Das Darstellen des GRAB Bildes schlägt fehl.
+ * General : Bug 94: Version wird jetzt mit Revision dargestellt: Version: 0.45(473).
+ * General: Die Revisionsnummer wird jetzt von subversion geliefert.
+ * Falls keine Subversion system vorhanden ist wird die letzte
+ Revision von xxvd angezeigt.
+ * NEWS::MAIL - vorgegebene replyadresse geändert da vom Server abgelehnt.
+ * EPG/Schema: Bug(86) - Längere Sendungen mit gleichen Endzeitpunkt wie das Zeitfenster wurden nicht angezeigt
+ * EPG/AUTOTIMER: Bug(100) - Suchterm mit '+' ergab keine Übereinstimmung
+ * HTTPD/WAPD: Keine Hardcordieren HTML-Ausgabe von HTML-Fehlermeldung mehr, Ersatz durch native Skinsausgabe
+ * HTTPD : HTTPD Statusmeldung auch als Titelzeile (404 File not found)
+ * General : Alle txt files nach doc/*.txt verschoben und eine README mit enstprechenden Hinweis im root gelassen.
+ * NEWS::RSS : Dates auf standard international time umgestellt.
+ * Tools : Stacktrace wird ausgegeben wenn $STACK gesetzt ist.
+ * NEWS::RSS : leere Logmessages.
+ * General : Starttime wird genauer berechnet.
+ * TELNET : Bug(100) telnet lies sich nicht mehr aufrufen.
+ * Tools : Ausgabe des stackTrace verfeinert
+ * General : Ausgabe des warnings wird ignoriert wenn ein eval die Ursache war
+ * General : Ausgabe des warnings immer mit stacktrace
+ * Tools : an debug,error sowie panic kann jetzt ein sprintf construct übergeben werden:
+ * z.B.: error('User %s has no permissions', $user)
+ * bin/xxvd : Spagetticode aufgeräumt und alles in subroutinen eingebaut
+ * doc/doc.tmpl : Ausgabe etwas verbessert und an die NEWS::* Module angepasst
+ * General : überflüssige PerlModule gelöscht
+ * NEWS::* : Fehlerhandling bei send
+ * General : jede Menge Aufräumarbeiten ;)
+ * schema : etwas aufgeräumt
+ * html : Einige Eingabefelder wieder auf Normalgrösse gebracht ;)
+ * NEWS::* : Bugfix(104) und verbesserung der active/noactive Einstellungen ;)
+ * General : Bugfix(105) Revision wird über svn info bestimmt ohne online zu gehen.
+ * RECORDS : Handling eingebaut wenn lt. vdr keine Recordfiles verfügbar sind.
+ * Einstellungen : Die Einträge sollten jetzt alphabetisch sortiert ausgegeben werden.
+ * Modules : Fehlerhandling stringenter bei allen IO::Socket's
+ * bin/xxvd : VERSION Tabelle wird erstellt, falls diese nicht vorhanden ist.
+
+
+
+0.43: (develop only, no public release)
+--------------------------------------------------------------------------------
+* Neue Feature :
+ * GRAB : Im Vorschaubild können jetzt auch der title u.a. der gerade laufenden Sendung
+ eingeblendet werden.
+ * EPG : Neue Routine NowOnChannel um die gerade aktuelle Sendung auf einem Kanal zu erhalten.
+ * xxvd : (after) Statusmeldung wird im Log ausgegeben, wenn ein after-callback gestartet wird
+ * CHANNELS : Neues Feld GRP in Channels mit Id von CHANNELGROUPS
+ * CHANNELS : Speichern der Channelgruppen in neuer Tabelle
+ * RECORDS: TODO[36] Markierung von neuen Aufnahmen
+ * CHANNELS : Kommandos zum Bearbeiten von Kanaldaten (cnew,cedit,cdelete)
+ * REMOTE : neue Funktion cmd und cmdlist zum auslesen und ausführen der commands.conf
+ * RECORDS/AUTOTIMER : Listen sortierbar
+ * Autotimer: Erweiterung der Donelist => um bereits aufgenommene Sendungen
+ * USER: Gruppen Kommando können gezielt verweigert, bzw. dadurch einfach Benutzerbezogen ausgeblendet werden
+ tlist => Timer betrachten (ta,tl)
+ alist => Autotimer betrachten (as,al)
+ rlist => Aufnahme betrachten (rl,rd,rs,pre,stt,sts)
+ mlist => Musik (ml ...)
+ tedit => Timer editieren (te,td,tn,tt,tu)
+ aedit => Autotimer editieren (an,ae,ax,ai,at,ad,au)
+ redit => Aufnahme editieren (re,rr,ru)
+ remote => Fernbedienung (r,sw,gr,gd,lst)
+ * HTML:neues command <?% allow('tlist') %?>, gibt true zurück wenn es erlaubt ist,
+ wird in dem menu template (help.tmpl) angewendet um inactive kommandos zu verstecken
+ * Vollständige Umstellung des WML/HTML Template nach dem Elemente nach Userlevel ein- und ausgeblendet werden.
+ (IF userlevel > xx => IF allow('cmd')) damit werden jetzt inaktive Elemente auch ausgeblendet.
+ * Template Variable userlevel entfernt.
+ * USER:kompletter rewrite der commands check routinen, es reicht jetzt ein
+ $user->checkCommand('delt')
+ * HTML:question - an alle widgets können zusätzliche tags gesendet werden
+ (param => {tags => ['disbabled','class=inactive', ...]})
+ * html: nach logout, komplett refresh des Interfaces
+ * html: im Footer wird jetzt der eingeloggte User angezeigt
+ * ALL: RefereUrls werden beachtet (timerlist -> autotimeredit -> timerlist)
+ * General: Restart des gesamten XXV Systems mit dem cmd restart
+ * USER: neues cmd (uprefs) mit Usereigenen Settings sowie Passwortänderung
+ * USER: UserPrefs werden vor AdminPrefs gesetzt
+ * CHANNELS: neues Wigdet clist zum Editeren von Kanälen
+ * VTX: Per Preferenzen deaktivbar
+
+* Fixes :
+ * xxvd : DB autoreconnect auf on geschaltet
+ * HTTPD, WML, ... : Anpassungen an das neue Userhandling, siehe letzten Fix in Telnet.
+ * TELNET : Wenn ein User eingeloggt war, kam kein Loginscreen in der nächsten Session.
+ Der User-Hash wird jetzt immer in der Console mit abgespeichert und gilt nur für eine Session.
+ * EPG : (readData) Fehlermeldung entfernt bei NoLine
+ * MUSIC : (mrefresh) Fehlermeldung bei nicht vorhandenen Verzeichniss
+ * MUSIC : (mrefresh) Sollten keine files gefunden werden wird mit Fehlermeldung reagiert
+ * WAPD: now/tlist liefern nicht valides WML 1.1, mit http://www.validome.org/validate behoben (wilderigel)
+ * EPG/TIMER/RECORDS: Integeroverflow in EventID => Alle ID Felder auf int(16) unsigned erweitert
+ * sprintf-Ausgabe von IDs per unsigned int (docschneider)
+ * HTTPD/mlist: Anzeige von Covern mit 'Sonderzeichen' im Titel
+ * remote: kleines Speedup, nicht mehr automatisch nach jedem Tastendruck, eine Screenshot holen
+ * html/rlist: Mehrfaches Löschen von Aufnahmen im Template verfügbar gemacht.
+ * AUTOTIMER : Bug[16] Löschen von AT mit Singlequote (') nicht möglich (Sledge Hammer)
+ * AUTOTIMER : Bug[72] : Man kann eine Startzeit angeben ohne das XXV meckert das es keine Endzeit gibt
+ * HTML : Dokumentationsdarstellung wieder hergestellt
+ * RECORDS Laufende Aufnahme wurden in rlist nicht angezeigt
+ * RECORDS Bug[25] Behandlung von Aufnahmen ohne Subtitel ( ../_/*.rec) verändert um rekursive Listen anzeige zu verhinden.
+ * WAPD: Startseite index.tmpl in wapd.tmpl umbenannt, damit die Skinauswahl mit HTTPD nicht durcheinander kommt,
+ und Fehlbedienungen verhindert werden (PeterD)
+ * RECORDS Bug[26] Aufnahmen - Übersicht Plattennutzung, verwendet jetzt offizelle Werte des VDR.
+ * RECORDS Bug[70] XXV erkennt Aufnahmen bei VDR 1.3.26 nicht
+ * Config: Bug[71] Beispiel etc/xxvd.cfg aktualisiert und von c't an Standard angepasst.
+ * Music: Import zeigte falsche Anzahl an neuen Dateien an.
+ * Remote: Initialisierung des Modules schlägt fehl wenn commands.conf nicht existiert oder definiert ist.
+ * User: Inaktive Userverwaltung wurde nicht bei "checkCommand" berücksichtigt ( aktive != Aktive )
+ * User: Bug[68] Betrieb bei inaktiver Userverwaltung unmöglich.
+ * Timer: Zeilenumbrüche aus Timertitel entfernt, VDR mag dies nicht in SVDRP Protokoll
+ * Alles: Basis-Berechtigungsgruppen [ guest (Betrachten),user (Editieren),admin (Verwalten) ] an einigen Stellen korrigiert
+ * RECORDS: in NoVFAT Modus wurden Aufnahmen mit Symbolen von regulären Ausdrücken nicht erkannt ( +,*,[,],{,} )
+ * RECORDS: unnötige Warnmeldung falls erste Aufnahmenzuordnungsversuch fehlschlägt entfernt.
+ * Einsatz HTML:command <?% allow('tlist') %?> erstellt Nachrichtenschauer im log als unpriviligiert User.
+ nur noch aktive Rechteverletzungen des Users werden als Logeinträgen vermerkt.
+ * SVDRP: mehrere Commandos werden in einem Durchgang an svdrp geschickt
+ * VTX: Bug[75] Nonregluäre Seiten wurden im Index merkt (wilderigel)
+ * RECORDS: Ausgabe einer passenden Fehlermeldung falls eine Leseberechtung des Aufnahmeverzeichnisses fehlt, und dadurch die Zuordnung fehlschlägt
+ * rdisplay: Darstellung der Schnittmarken korrigiert
+
+
+
+
+
+0.42 (stable)
+--------------------------------------------------------------------------------
+ * Fix: RECORDS: Bug[54] Geschnittene Aufnahmen tauchen in xxv::records nicht auf
+ * Fix: RECORDS: Bug[46] Previewbild Erzeugung berücksichtigt beim MPlayer nur 001.vdr
+ * Fix: contrib/create-database.sql legt jetzt auch dem MYSQL-Account für Datenbank xxv an.
+ * Fix: telnet/uedit: Bug[51] Änderung/Eingabe vom Passwort nicht möglich,
+ telnet/uedit: Unveränderte Übernahme des alten Passwort wie in HTML nicht möglicht
+ * Fix: rdelete: Mehrfaches Löschen in reverser Reihenfolge,
+ Überprüfung ob ID überhaupt in DB vorhanden,
+ Sicherheitsabfrage für Telnet hinzugefügt
+ * Fix: ttoggle/tdelete: Funktionell vereinheitlicht, doppelte SQL-Abfrage entfernt.
+ * Fix: httpd: Standard-Skin wurde in der Konfigurationsauswahl nicht mehr angezeigt. (index.tmpl als Startseite)
+ * Fix: html-msg: alle Zeilen einer svdrp-Ausgaben wurden in eine gemeinsame Zeile zusammengefasst
+
+0.41 (1.fixed stable)
+--------------------------------------------------------------------------------
+ * Feature: SVDRP: mehrere Kommandos können jetzt bei SVDRP command abgesetzt werden
+ $svdrp->commando('delt 1', 'delt 2', ...); # rufe alle auf einemal auf
+
+ * Feature: SVDRP: mehrere Kommandos können mit queue_cmds gesammelt werden und mit einem Kommando aufgerufen werden:
+ $svdrp->queue_cmds('delt 1'); # schick ein Cmd in die queue
+ $svdrp->queue_cmds('delt 2'); # schick das nächste Cmd in die queue
+ print $svdrp->queue_cmds('COUNT'); # Gibt '2' aus (2 Kommandos in der queue
+ $erg = $svdrp->queue_cmds('CALL'); # Ruft alle Kommandos in der Queue auf.
+ $console->msg($erg, $svdrp->err); # Pseudiwidget das bei einem Fehler $console->err aufruft.
+
+ * Feature: SVDRP: Parsen der Ausgabe von SVDRP und farblicher Hinweis für den User wenn ein Fehler auftritt
+ $console->msg($erg, $svdrp->err); # Pseudiwidget das bei einem Fehler $console->err aufruft.
+
+ * Feature: HTML: bei question können jetzt auch Parameter für das Widget mitgegeben werden
+ * Fix: RECORDS: ab sofort werden auch die info.vdr berücksichtigt
+ * Fix: tlist: Nach Wiederholungen suchen hat bei autogetimten timern nicht geklappt
+ * Feature: RECORDS: Speichert jetzt auch die Description in OldEpg ab
+
+0.40 (stable candiate)
+--------------------------------------------------------------------------------
+ * Fix/Feature: rlist: Aufnahmen werden vollständig nach Ordnerstuktur gruppiert, nicht mehr nur die erste Ebene
+ * Fix/Feature: alist: Autotimer werden nach Suchtext sortiert (vorgeschlagen von Wilderigel).
+
+
+
+0.35 (alpha)
+--------------------------------------------------------------------------------
+
+ * Fix: TIMERS/tlist: Mehrere DVB Karten und deren Kollisionserkennung verbessert.
+ * Fix: RECORDS: Anzeige der Previewbilder auf gewählte Anzahl begrenzt, auch wenn mehr Bilder im Verzeichnis liegen
+ * Fix: xxv: wenn System-$CONFIGFILE (z.B. /etc/xxvd.cfg) schreibbar, wird dieses verwendet sonst ~/.xxvd.cfg
+ * Fix: Config: Warnmeldungen falls xxvd.cfg nicht schreibbar
+ * Fix: Timer: Bug[10] Timer wurden mit nicht aktiv Status angezeigt wenn sie mit vdradmin erzeugt wurden.
+
+0.33 (develop)
+--------------------------------------------------------------------------------
+ * Feature: xxv: Usereigenes Configfile in ~/.xxvd.cfg
+ * Feature: xxv: neues upgrade-xxv skript zum updaten der Datenbank von Tobias Grimm
+ * Fix: EPG: schema, etliche Darstellungsfehler von Hulk gefixt
+ * Fix: TIMERS: tlist, konflikte richtig dargestellt (Hulk)
+ * Feature: STREAM: neues Kommando: playrecord (rid) neuer Parameter: netvideo.
+ Ist abgeschaut von dem ct'vdradmin, falls man sein videodir per samba
+ oder nfs eingebunden hat und dieses unter Einstellungen->STREAM->netvideo
+ eingetragen hat (z.B. '\\vdr\video' o. 'V:' o. '/netz/vdr', kann man sich
+ hier die Aufnahme mit seinem favoriten player anschauen.
+ * Feature: STREAM: neues Kommando: livestream (cpos).
+ Damit kann man sich (streamdev vorausgesetzt) den gewünschten Kanal auf
+ dem Clientrechner anschauen.
+ * Feature: EPG: Neue tabellarische Ansicht (schema)
+ * Feature: RECORDS: Zusammenfassung aller Bearbeitungsschritte zu einem Kommando
+ * Fix: search: BUG[15] Suche Ergebnis Tag falsch
+ * Fix: HTTPD: Bug[12] Wenn man sich mit Logout abmeldet, kann man sich in den erscheinenden Userdialog nicht mehr anmelden. (Wilderigel)
+ * Fix: RECORDS: Vorschaubild vom mplayer skaliert nach aspect ratio des Films (erstes Frames is massgeben)
+ * Fix: RECORDS: mplayer Reduzierung der Logmeldungen im Protokoll
+ * Fix: RECORDS: Kommando Aufruf von vdr2jpeg zum erhalt es aspect ratio geändert, Achtung! vdr2jpeg-Update auf 0.0.7 notwendig
+ * Fix: RECORDS: Aufnahmen mit '?' wurden nicht angezeigt
+ * Fix: RECORDS: Löschen von summary.vdr/marks.vdr nicht möglich
+ * Fix: RECORDS: Geänderte summary.vdr wurde in rdisplay nicht angezeigt
+ * Fix: STATUS: IDE Cache-Größe der Laufwerke in MB (Sledge Hammer)
+ * Fix: RECORDS: insert useless 'mysql_insertid' entfernt
+ * Fix: RECORDS: rdescredit fehlende marks.vdr wurde mit falscher Fehlermeldung quittiert. (HFlor)
+ * Fix: RECORDS: summary.vdr und marks.vdr liessen sich nachträglich anlegen. (HFlor)
+ * Feature: CHANNELS: filterCA als Auswahlliste konfigurierbar
+ * Feature: Versionsnummer von xxv in den Oberflächen (neue variable in den templates 'version')
+ * Fix: GRAB: Version von GD wird geprüft und entsprechende Routinen aufgerufen
+ * Feature: Versionsnummer im comment der Tabellen untergebracht
+ * Feature: EPG: Anzeige des demnächsten laufenden Programmes
+ * Feature: Sprache der Benutzeroberfläche ist "one the fly" umschaltbar.
+ * Feature: TIMERS: Mehrere DVB Karten werden ünterstützt und bei der Collisionserkennung berücksichtigt.
+ * Feature: REPORT: Neues Modul um Reports zu erzeugen und diese dann auch per mail zu verschicken.
+ * Fix: AUTOTIMER: AutotimerId wird im timer mit abgespeichert.
+ * Fix: TIMER: AutotimerId in table eingebaut.
+ * Fix: TIMER: timestamp in table eingebaut.
+ * Fix: ROBOT: Automatischen Interval rausgenommen.
+ * Fix: ROBOT: Jobs wurden nicht geloescht.
+ * Fix: html: Header wird jetzt mit embedded style sowie js ausgegeben, dadurch xxv schneller.
+ * Fix: WAIT: Style sowie javascript werden jetzt korrekt eingebunden.
+ * Fix: MUSIC: Suchen mit Enter funktioniert nicht. (wilderigel)
+ * Fix: RECORDS: Bei eingebundenen Video partitionen wird deren Speicherplatz in rlist angezeigt.
+ * Fix: GRAB: Das er nur dann grabben tut wenn der RemoteScreen angezeigt wird.
+ * Fix: GRAB: Export des per GD manipulierten Bildes in der gewählten JPEG-Qualität.
+ * Fix: GRAB: GD2 erstellte Bilder sind palettebasiert.
+ * Fix: GRAB: Ungenutzte Parameter Intervall entfernt.
+
+0.32 (develop)
+--------------------------------------------------------------------------------
+ * Fix: EPG: Parameter für Laufzeiten nach "periods" umbenannt, um Verwechslungen mit timers zu vermeiden
+ und in EPG/now.tmpl, als Parameter wieder eingefügt.
+ * Fix: USER: Standard user xxv wurde mit einem Standardskin in Prefs erstellt. (xpix)
+ * Fix: MUSIC: intervall für getCovers rausgenommen. User muss diesen Vorgang manuell starten. (xpix)
+ * Feature: TIMER: Timer werden in Ihrer Start sowie Endzeit nachgezogen falls sich diese im EPG verändern (xpix)
+ * Feature: html: timer kann editiert werden in running Now (xpix)
+ * Feature: html: Epg EIntrag werden bei runnningNow hervorgehoben falls ein timer dafür läuft (xpix)
+ * Fix: MUSIC: mrefresh gelöschte Dateien wurden nicht aus der DB ausgetragen (Hulk)
+ * Fix: TIMER: Veraltete Timern mit VPS wurden nicht gelöscht. (Hulk)
+ * Fix: TIMER: Neue Timer ließen sich sich nicht inaktiv bzw. VPS anlegen. (Hulk)
+ * Fix: HTTPD: Meldung über inactive Module etwas erweitert (Dejuh)
+ * Fix: AUTOTIMER: Wekkdays war auf NOT NULL gesetzt, dadurch gabs Probleme beim alten Import (Hulk)
+ * Feature: AUTOTIMER: Nur an bestimmten Wochentagen suchen lassen.
+
+0.31 (develop)
+--------------------------------------------------------------------------------
+ * Fix: now.tmpl: 2x 19% und 101% (HFlor)
+ * Fix: Bundle: GD::Graph und GD::Graph3D ergänzt
+ * Fix: MUSIC: list Anzeige von Titel mit Hochkomma,&,/,: schlägt fehl (wilderigel)
+ * Fix: TIMER: Timer mit Priorität/Lebenszeit von 0 wurden mit default Werten gespeichert. (wilderigel)
+
+0.30 (develop)
+--------------------------------------------------------------------------------
+ * Fix: MUSIC: Suche nach cover an das neue Webdesign von allofmp3.com angepasst
+ * Feature: MUSIC: Redirect zur mlist nach CoverScan
+
+
+ * Fix: HTTP: HTTP-Header hatten doppelten Status 200/ bzw 200+401
+ * Fix: HTTP: ohne Login wurden trotz Abbruch Daten ausgeliefert
+ * Fix: HTTP: abfragen von nicht existierenden Daten werden mit Status 404 quittiert
+
+ * Feature: CHANNELS: clist - Tabelle sortierbar
+
+ * Fix: TIMERS: Unterstützung des Datumsformat (vdr >= 1.3.23)
+ * Fix: STREAM: Pfad zum Record muss gequoted werden.
+
+ * Feature: add NEWS.txt
+
+ * Feature: alist.tmpl: Menupunkte für im und export der Autotimerdaten.
+ * Feature: Redirect nach Autotimer löschen anch alist.
+ * Feature: STREAM: dynamic Read von den Configfiles
+ * Feature: HTTPD: dynamic Read von den Skinsdir
+ * Feature: STREAM: neuer Parameter serverlog
+
+ * Feature: de.po um die fehlenden Übersetzungen ergänzt.
+ * Feature: in allen Templates (html) die gettext routine eingesetzt.
+ * Feature: Makefile: globbt jetzt alle *.pm und html/*.tmpl sowie html/widgets/*.html durch. Somit ist es
+ möglich, auch bei den Templates eine Lokalisierung zu erreichen (<?% gettext("User") %?>)
+ * Feature: EPG: runningNow versteht jetzt auch unixtime
+ * Feature: EPG: runningNow,program können im Skin wie search EPG.description ausgeben, ermöglicht Ausgabe des Skins like vdradmin
+ * Feature: now.tmpl: Now Zeit kann jetzt auch per input field dargestellt werden.
+ * Feature: style.css: Hintergundfarbe ändert sich bei focus im Input-, Textarea- sowie Selectfield
+ * Fix: EPG,TIMERS: UNIX_TIMESTAMP statt englisches Datum im sql Statement für tlist,tsearch,program,search (<?% date.format(field, "%A, %x") %?>) um das Datum im jeweiligen lokalen Format auszugeben.
+ * Fix: CHANNELS: Logo Handling wieder rausgenommen ... zu sehr verhaspelt ;)
+ * Fix: list.tmpl: Wenn nur ein listeintrag ausgewählt wurde gibts probleme
+ * Fix: GRAB: temp filename wurde immer länger ;)
+ * Fix: now.tmpl: Percent jetzt als tabellen, jetzt stellt es auch der IE richtig dar.
+ * Fix: all templates: mit dos2unix bearbeitet.
+
+ * Fix: Bundle::Xxv ergänzt um Proc::Killfam und GD
+ * Fix: Standardfonts von xxv/html/fonts nach xxv/fonts verschoben, um sie in anderen Skins zu nutzen
+ - neuer xxvd parameter fontdir. z.B. nutzbar Debian xxvd -fontdir=/usr/share/fonts/truetype/
+ - Auswahlliste der gefundenen Fonts genutzt in GRAB / Status
+ - alle hardcodierten Fonts im template memory/filesys/network/vitals durch param.font ersetzt
+ * Fix: Kein richtiger Returnwert wenn modul deaktiviert wird.
+ * Fix: CHANNELS: XXV Kanalnummern falsch importiert, wenn in der Channels.conf Abschnitte mit
+ neuen Nummernbereichen (z.B. ":@20 Regionalprogramme" ) versehen werden. (Ranga)
+
+ * Feature: Startseite im Skin kann über index.tmpl definiert werden
+ - template erhält Parameter 'start' mit gewählter Startseite
+ * Feature: program: Bei Aufruf ohne Parameter, wird die erste gültige Sender der Kanalliste gewählt
+ - template erhält Parameter 'current' mit aktueller Senderwahl
+ * Fix: uedit: Überprüfung auf undefinierten Wert des zweiten Feldes beim parsen von password.tmpl
+ * Feature: RECORDS Serien werden in Gruppen zusammengefasst dargestellt (poetter)
+
+ * Update: Autotimer: Reinclude ExtendedEPG (Siehe 0.16/0.16b Anpassungen an tvmovie in Autotimer (Friedhelm))
+ * Update: WAPD, Initialimplementierung der Startseite (index.WML) und (tlist) TODO: Vervollständigung des WML-Template
+ * Feature: Running Now, Program Guide, Timers, ... Channel Logos (eventuell ein/ausschaltbar in Preferences)
+ (Die Pfade zu den Logos werden erstmal in die Channeltable mit eingetragen)
+ * Feature: niedrigere Aufnahmeprioritäten für User einstellbar
+ (Kann mit den Prefs Schalter vorbelegt werden TIMERS::Priority=30)
+ * Feature: Dienste an sowie ausschaltbar machen (in fast allen Modulen gilt active = (y|n)
+ * Feature: GRAB: 3D Effekt bei ttf fonts
+ * Fix: GRAB: neues bild /tmp/name_text.jpg wenn text angeschaltet ist
+ * Fix: tlist.tmpl: Timer wurden nicht verlinkt auf EPG Events
+
+ * Feature: GRAB: neue Parameter imgfontsize, imgfont
+ * Feature: Config (file|dir): Nur wenn required definiert ist wird auf vorhandensein von file|dir getestet
+ * Fix: Console (file|dir): nachgerüstet
+
+ * Feature: Anzeige des aktuellen Kanals (Senderlogo sieht man ja nicht immer)
+ - wird ins Remote bild mit eingezeichnet ;)
+ - kann durch Grab:imgtext eingestellt werden
+ - als variablen stehen z.Zt. nur channel zur Verfügung
+ * Feature: Added html/fonts directory to svn
+ * Fix: RECORDS: Löschen der alten Previewimages hatte nicht funktioniert
+ * Fix: list.tmpl: Kanalasuwahl war incorrect
+ * Fix: table.tmpl: Kosmetische Änderung
+ * Fix: tlist.tmpl: Link zum EPG Eintrag war incoreect
+
+ * Feature: remote.tmpl: Der Interval des refreshes lässt sich jetzt einstellen.
+ * Feature: Programm Guide, extra search feld für sendung suche auf dem channel.
+ * Feature: Beim Autotimer-Update wird die EPG-Fundstelle nur die ChannelID angezeigt,
+ ich vermisse eine zusätzliche Anzeige des Sendernamen.
+ * Feature: Autotimer - Einstellung - exclude: Exclude-Kanalliste für um bestimme Kanäle bei Autotimern auzuschließen.
+ * Feature: Beim Autotimer-Update wird die EPG-Fundstelle nur die ChannelID angezeigt, ich vermisse eine
+ zusätzliche Anzeige des Sendernamen
+ * Feature: Timer: die Priorität des Timer in Konfliktkonflikten kennzeichnen
+ * Fix: Channel Auswahl bei Autotimer war fehlerhaft
+ * Feature: Der Parameter der entscheidet wie lange eine Aufnahme lebt,
+ sollte angezeigt und nachträglich veränderbar sein.
+ Realisierbar ist dies durch umbenennen des Aufnahmeunterverzeichnisses...
+ von /video/vdr/%Projekt:_Peacemaker/2005-01-22.22:35.50.14.rec
+ nach /video/vdr/%Projekt:_Peacemaker/2005-01-22.22:35.50.99.rec
+
+ * Feature: Die Standardroutine deleteDir ist jetzt in Tools integriert und steht somit in allen Modulen zur Verfügung.
+ * Feature: html Skin, fast überall automatische Weiterleitung eingebaut.
+ * Feature: Neue Routine main::toCleanUp! Hier können die Module bei beenden des xxv oder Logout bestimmte Callbacks ausführen
+ um z.B. temporäre Dateien wegzuräumen.
+
+ * Feature: Neue Templates: vital.tmpl, network.tmpl, memory.tmpl, filesys.tmpl
+ * Feature: STATUS: Liniengraphen und pies bei memory, network und filesys. Hiermit kann man den
+ Zustand der Maschine in letzter Zeit (Parameter: history) prüfen. Speicherverbrauch, Last usw.
+ * Feature: STATUS: Bestimmte Daten werden alle (Parameter: interval) Sekunden für einen
+ bestimmten Zeitraum gespeichert und können später ausgewertet werden.
+ * Feature: rlist.tmpl: Free/Used als pie3dGraphimage
+ * Feature: HTML: Es können jetzt temporäre Bilder erstellt werden (html/temp/<username>/image.png)
+ aus den Templates heraus. Eignet sich für PiCharts u.a.
+ Example:
+ <?% USE gdc = GD.Constants;
+ USE im = GD.Image(200,100);
+ black = im.colorAllocate(0 ,0, 0);
+ red = im.colorAllocate(255,0, 0);
+ r = im.string(gdc.gdLargeFont, 10, 10, "Large Red Text", red);
+ file = writefile("status.png", im.png ) %?>
+ <img src="<?% file %?>">
+
+ * Feature: neuer Parameter (previewcount).Wieviel Previewbilder sollen erstellt werden.
+ * Feature: xxv2jpeg integriert.
+
+ * Fix: TIMERS: tlist-> tsearch Ausgabe aneinander angeglichen
+
+ * Feature: Die Marks einer Aufnahme können bearbeitet werden. (rmarksedit)
+ * Fix: CHANNNELS: RID wurde nicht Korrekt geparst. (rmarksedit)
+
+ * Feature: Die Description der Aufnahme sollte bearbeitet werden können, und auch als summary.vdr
+ gespeichert werden. (rdescredit)
+
+ * Feature: Timer: list-> Anzeige der Wochentage
+ * Fix: Autotimer: list-> Anzeige beim Löschen eines Autotimers zeigte den kanal statt den Namen an
+
+ * Feature: Autotimer/Timer: aedit/tedit-> Channel wählt nur anhand des Name die Selection aus, nicht anhand der POS
+ * Fix: TIMERS: new Timer, channel wurde im Pulldownmenu nicht richtig angezeigt(CatweazelG)
+ * Fix: RECORDS: transalte um ß erweitert(CatweazelG)
+
+ * Fix: Bei Aufnahmen, wo die Recordzeit kleiner als 5min ist, werden keine Marks angezeigt.
+ * Feature: eine schöne übersichtliche tabellarische Datenausgabe bei Records (Einstellung == No MPlayer)
+
+ * Feature: Autotimer können bestimmen ob Timer mit VPS und eigenem Vor- und Nachlaufangelegt werden
+ * Fix: Update der Table RECORDS funktionierte nicht
+
+ * Feature: Inaktive Timer nach Ablauf loeschen! (Nur Autotimer!)
+ * Fix: Absturz und immenser Speicherverbrauch nach Coversuche
+
+ * Feature: TIMERS: Timer verbinden mit einer EpgId -> getNextEpgId
+ * Feature: TIMERS: tlist an getNextEpgId angepasst
+ * Feature: Bei den timern hätte ich gerne die EPG beschreibung zum Timer.
+ * Feature: EPG: program,display,search > events mit Timer werden gekennzeichnet
+ * Feature: Anzeige der aktuell laufenden Timer, ähnlich dem der Anzeige im tlist
+
+ * Feature: HTTPD: neuer Parameter StartPage um die Startseite zu konfigurieren.
+ * Feature: Anzeigen der Schnittmarken zu den einzelnen Records
+ * Feature: Records: Anzeige "xx% Discspace Used"
+
+ * Feature: Einstellungen an User binden (z.B. Skins)
+ * Feature: Wie erfolgt im HTTPD ein Logout? Neues cmd logout in HTTP Interface.(xpix)
+ * Fix: USER: Password wurde wieder verschluesselt nach edit(xpix)
+
+ * Feature: New Robot Modul, see in Documentation.(xpix)
+ * Feature: Robot Modul take new Covers from Internet.(xpix)
+ * Feature: Music: new Parameter Hostname in Config.(wilderigel)
+ * Feature: Music: new Parameter Interval to refresh the MusicDb.(xpix)
+ * Feature: Music: new command mcovers to get album covers.(xpix)
+ * Feature: Channels: update wird ausgeführt wenn der User es will.(xpix)
+ * Feature: HTML: Processbar.(xpix)
+ * Fix: radio.tmpl: Vergleich hatte nicht gestimmt
+ * Fix: USER: nach einem Edit war der User immer auf guestlevel
+ * Fix: bin/xxvd: --kill killt auch die Kinderprozesse
+ * Fix: Unterstützung von Timer mit VPS-Status (>= VDR 1.3.5)
+
+
+
+
+
+0.20 (stable)
+--------------------------------------------------------------------------------
+ * Stable Version 0.20
+
+0.17l (Countdown zur Stable Version 0.20 ;)
+ * Fix: kleine kosmetische änderungen von Hulk (locale und backtolist links)
+
+0.17k (Countdown zur Stable Version 0.20 ;)
+ * Feature: CONFIG: neues command configget (cg)
+ * Fix: AUTOTIMER: Suchen über Mitternachtsgrenze gefixt (endlich!!) (wilderigel)
+ * Fix: html: Anpassungen von wilderigel für ApacheProxy (gandalf)
+ * Fix: RECORDS: follow symbolic links angepasst (gandalf)
+ * Fix: INTERFACE: Jede Menge anpassungen um third party Tools laufen lassen zu können. (xpix)
+
+0.17i
+ * Fix: logs: Beispiel für logrotate in etc/logrotate.d/xxvd (gandalf)
+ * Fix: RECORDS: Previews werden jetzt in einem fork einzeln abgearbeitet (wilderigel u.a. ;)
+ * Fix: MANPAGE: --version aktualisiert (Tobias Grimm)
+ * Fix: HTTPD: findskins scheint nicht zu funktionieren, find konnte keine symbolischen Links auflösen(xpix)
+
+0.17h
+ * Fix: RECORDS: nice -19 bei mplayer (wilderigel)
+ * Fix: RECORDS: OLDEPG eventid > 1000000000 (Hulk)
+ * Fix: TIMERS: Back to timer list, after edit (xpix)
+ * Fix: EPG: runningNow zeigte noch die Vergangenheit an wenn die gewählte Zeit kleiner als now war(freeze)
+ * Fix: HTTPD: findskins scheint nicht zu funktionieren(Habib)
+ * Fix: CHANNELS: gibt es eine Überschneidung mit dem AUTOPID-Patch (Hulk)
+ * Fix: CHANNELS: Zeilenumbruch in RID entfernt (Xpix)
+ * Fix: TELNET: nach erfolglosem login ist der telnet server abgestürtzt (wilderigel)
+
+
+0.17g
+ * Fix: Makefile: Versionsnummer wird beim maken eingesetzt (Hulk)
+ * Fix: RECORDS: Kleiner Fix in übersetzung.(wilderigel)
+ * Fix: RECORDS: Es wurden manchmal weniger als 3 Previewbilder erstellt.(xpix)
+ * Fix: AUTOTIMER: Fix in autotimer für finden von timern über mitternachtgrenze.(xpix)
+ * Fix: General: locale angepasst (Ronny Kornexl)
+ * Fix: General: runscript angepasst(Hulk)
+ * Fix: Channels: wenn eine SID doppelt ist, wird diese vom VDR um eine weiter Nummer (lt. vdr-5-manpage die RID) erweitert
+ * Fix: General: New commandline parameter --version (Xpix)
+
+0.17f
+ * Fix: RECORDS: Ausführlichere Fehlermeldung im Log wenn ein Record nicht gefunden wird.(xpix)
+ * Fix: RECORDS: rrsearch - Dort sollte natürlich auch die Zeitausgabe in "Sekunden" erfolgen. (Hulk)
+ * Fix: CONFIG: Config aufgeräumt.(xpix)
+ * Fix: RECORDS: Neue Option 'No Mplayer' zum deaktivieren der Previewvorschau. (Tobias)
+ * Fix: General: Rename von bin/xxvd.pl nach bin/xxvd. (Tobias)
+ * Fix: in STATUS.pm Zeile 238 fehlt noch ein scalar() um den zweiten gethostbyname-Aufruf (Tobias)
+
+0.17e
+ * Fix: RECORDS: Kleiner Fix in translate, endlich mit Hilfe von foobar, gandalf und wilderigel sowie Hulk den Fehler in tyranslate gefunden.
+ * Fix: RECORDS: Datum der Records war 1970. (Xpix)
+
+0.17d
+ * Fix: RECORDS: rrename wurde auf das neue vfat Handling umgestellt(Xpix)
+ * Fix: RECORDS: Es wird versucht mit beiden Translate versionen (vfat = default und das Gegenteil) die Records zu lesen(Xpix)
+ * Fix: RECORDS: Anzeige der Dauer etwas schicker (Hulk)
+ * Fix: RECORDS: Testen ob file überhaupt existiert und dann size ermitteln (xpix)
+
+0.17c
+ * Fix: CHANNELS: VDR man 5 states that the third field is TID when (NID != 0 && TID != 0), otherwise frequency (A. Hannula)
+ * Fix: RECORDS: Was lange wärt ... Überarbeitung der videoInfo Routine zum ermitteln der Länge eines Record (Hulk)
+
+0.17b
+ * Fix: RECORDS: 24 Problem von wilderigel und gandalf (Hulk)
+ * Fix: RECORDS: Statt vdrsync wird du eingesetzt und anhand der Grösse die Laufzeit des Videos berechnet (Hulk)
+ * Fix: EPG: DBD::mysql::st execute failed: Column 'channel_id' cannot be null ....
+
+0.17a
+ * Fix: REMOTE: Taste 0 jetzt aktiv (Translate 'Null' => 0) (gandalf)
+ * Fix: RECORDS: Aufnahmelänge wird jetzt mit vdrsync gelesen. Neuer PrefEintrag 'vdrsync'! (Hulk)
+ (Falls keine Längen angezeigt werden, bitte eine ausgabe von vdrsync.pl $recorddir an mich schicken!)
+
+
+0.17
+ * Fix: STATUS: Falsche Kapazität bei der Hardware anzeige (ide)
+ * Fix: EPG:Regelmässiges epurge einbauen.
+ * Fix: RECORDS:Versuch ohne gepatchten vdr die Laenge eines records anhand der mtime des index.vdr
+ files herauszubekommen.
+ * Fix: RECORDS:Preview images werden als extra process erstellt.
+ * Fix: CONFIG:Doppelte ausgabe bei config speichern vermeiden. (Hulk)
+ * Fix: AUTOTIMER:Ich habe ein Problem mit den Autotimern: Im vdradmin hatte ich Timer mit Startzeit 22:00 und
+ Endzeit 03:00 (halt irgendwann nachts). Wenn ich die so eingebe, dann werden sie vom xxv
+ nicht gefunden.
+
+0.16e
+ * Fix: Bessere Warnings wenn wichtige Dateien fehlen
+ * Fix: Pfade koennen jetzt auch ueber die Kommandozeile übergeben werden.
+
+
+0.16d
+ * Fix: Endlich! Keine Warnings mehr bei Readline!
+ * Fix: Für DebianPaket, alle Pfade sind jetzt an einer Stelle. Die ersten Zeilen in xxvd.pl.
+ * Fix: Bessere Localisierung, dank an Hulk!
+
+0.16c
+ * Feature: Anpassen der Logging Ausgabe (abschalten von Talking on session / Opened new http session )
+ * Feature: skin Verzeichnisse automatisch als Liste in config anzeigen
+ * Fix: Es gibt zwei neue Widget (dir.tmpl/file.tmpl), diese pruefen die Angaben für Verzeichniss- sowie
+ Pfadangaben, ob diese Datein oder Pfade überhaupt existieren (diese müssten in die bestehenden Skins
+ kopiert werden.
+ * Fix: Skins werden jetzt beim Start gesucht und dann per Pulldownmenu angeboten. Dabei wird ein Skin anhand des
+ favicon.ico files erkannt. Ab jetzt wird nur noch der DirName angegeben also '../stone' -> 'stone'.
+ (bitte denkt dran Eure alte xxvd.cfg dementsprechend abzuaendern:
+ [HTTPD] -> HtmlRoot=html)
+ * Fix: Leichtere Einstellung des mplayer alt/neu als Pulldownmenu.
+ (bitte denkt dran Eure alte xxvd.cfg dementsprechend abzuaendern:
+ [RECORDS] -> "mplayercommand=MPlayer1.0pre5" oder "mplayercommand=MPlayer1.0pre6")
+ * Fix: channels.conf kommen mit extra spalte (noscan), wird ignoriert (Danke frix!)
+ * Fix: Autotimer ignorierte unter bestimmten Umstaenden die done Liste.
+ * Fix: geloeschte mp3's werden nicht in der DB geloescht.
+ * Fix: GPL File fehlt.
+
+0.16b
+ * Fix: vergisst aber leider, das PID-File zu löschen, weswegen xxv sich beim nächsten Versuch weigert, zu starten.
+ Vorher muss man das PID-File löschen. (sn123py)
+ * Fix: Patch von Friedhelm wieder rausgenommen da die Autotimerfunktion so dann nicht mehr funktioniert hatte.
+
+0.16a
+ * Fix: Wenn xxv auf eine leere DB startet, dann versuchte Timers auf Channels zuzugreifen(Morone)
+
+0.16 (start der Betaphase bis 0.19)
+ * Feature: Anpassungen an tvmovie in Autotimer (Friedhelm)
+ * Fix: DOCU: docu.tmpl ist jetzt im unterverzeichniss doc
+ * Fix: AUTOTIMER: Telnet/aedit, bei falscher Kanal wahl : Dieser Kanal 'test' existiert nicht! [ARRAY(0x8e59334)]
+ * Fix: AUTOTIMER: Telnet/aedit, undef von Kanal/Zeit/Mindestlänge nicht möglich (0 => defaultwert)
+ (Hulk, das hast du schon gefixt oder?)
+ * Fix: HTML: question 'list.tmpl' : Immer ein leere Option anfang, warum ?
+ * Unklar: html/help.tmpl <?% name = 'XXV::MODULES::EPG'; timers = param.MODS.$name.timers %?>
+ Can't locate object method "timers" via package "XXV::MODULES::EPG" at lib/Template/Stash.pm line 650.
+ (Kann ignoriert werden ... )
+ * Fix: TELNET: Fehlermeldung beim Start im Log => use READLINE=> Term/ReadLine/Gnu.pm, Term/ReadLine/Perl.pm
+ (Kann ignoriert werden ... )
+ * Fix: AUTOTIMER: Telnet/aedit, undef von Kanal/Zeit/Mindestlänge nicht möglich (0 => defaultwert)
+ * Fix: Records: 'select min(eventid)-1 from OLDEPG', Schlägt fehl wenn OLDEPG leer ist, liefert eventid = 0 für alle Aufnahmen
+ * Fix: Telnet: Login sollte sofort erscheinen und nicht erst nach der Eingabe eines Befehls
+ * Fix: EPG: Dummy Eintrag mit "No Title" (schien schon gefixt zu sein)
+ * Fix: Es scheint ein Leak zu geben. Nach ca. 7 Tagen waechst xxv auf 200MB --> EPG.pm => epurge
+
+0.14g
+ * Feature: EPG: program/list Ausgabe Wochentags mit Tag und Montag
+ * Feature: search,msearch,tsearch,tsearch verwenden den selben Suchfunktionen und damit Syntax wie Autotimer "foo,-bar"
+ * Fix EPG: Kurzfilm,-Kurzschluss => AUTOTIMER Exlude-Suche funktioniert nicht wie erwartet mit aktiven EPG.description wenn Feld == NULL => default deshalb ("")
+ * Fix: Skin: global.js Zeile 34 / Fehler: document.forms[0].elements[i] has no properties (Quadratkugel)
+ * Fix CHANNELS.pm filterCA per default deaktiviert (Thorsten Gehrig/steffx)
+ * Fix: xxvd.cfg Defaultwert der Sprache, ohne Fehlermeldung LANGUAGE=English
+ * Fix: xxvd.cfg Telnet-Port steht auf 8003 und ist lt. Dok. 8001 (Thorsten Gehrig)
+ * Fix CHANNELS.pm filterCA erkannte multible Filter nicht (Thorsten Gehrig)
+ * Fix CHANNELS.pm Access Field hatte falschen Datentyp int(11), es gibt CA Felder die Komma getrennt mehrere Werte haben.
+ * Fix CHANNELS.pm Aktualiserung der nach Änderung der channels.conf wurde nicht erkannt.
+ * Fix RECORDS: Mag kein ' in Titel => DBD::mysql::db selectrow_hashref failed: You have an error in your SQL syntax. ... near 's Cut)%'' at line 435.
+ * Fix RECORDS: Wenn Verzeichnis unerkannt, logeintrag => DBD::mysql::st execute failed: Column 'Path' cannot be null at lib/XXV/MODULES/RECORDS.pm line 270 (Thorsten Gehrig)
+
+0.14f
+ * Feature: CHANNELS: Konfigurierbarer Filter für das Namensfeld, (default "short,long;provider" )
+ vdr 1.2.6 (Format "" or "long"). it show also all parts
+ vdr 1.3.10 (Format "short,long")
+ vdr 1.3.12 (Format "short,long;provider")
+ vdr 1.3.?? (Format "provider;short,long")
+ vdr 1.3.18 (Format "short,long;provider")
+0.14e
+ * Feature: CHANNELS: Konfigurierbarer Filter für das CommonAccess Feld, Default: 0,1,2,3,4,32001 => 0=FTA, 1-4 DVB-Card,32001 Analogplugin (Komma getrennt) [ersetzt das confirm y/n für Verschlüsste Kanäle]
+ * Feature: RECORDS: rsearch: Ermöglicht das Suchen nach Aufnahme (-titel,-subtitel,-beschreibung)
+ * Feature: TIMERS: ttoggle: jetzt wie bei tdelete auch für mehrere Timer gleichzeitig möglich
+ * Fix: CHANNELS: Support für Analogplugin (ChannelID hat Format C-0-Freq-NID) (steffx)
+ * Fix: CHANNELS: cmd=cu Ausgabe der korrekten Anzahl bei "Schreibe 99 Kanäle in Datenbank."
+ * Fix: AUTOTIMER: aedit: Falsche Wert bei Lifetime, Fehler aus 0.014x
+ * Fix: AUTOTIMER: aedit: Start/Stop werden nur noch angezeigt wenn sie auch definiert wurden
+ * Fix: AUTOTIMER: aupdate: Start/Stop werden jetzt separat als Bedingung gewertet.
+ * Fix: AUTOTIMER: anew scannt nur noch den neuen AutotimerTimer, nicht mehr alle
+ * Fix: Timer: tnew: Neue Timer ohne EPG werden mit Status/Day/Start/Stop werden mit Defaultwerten initialisiert
+ * Fix: TIMER: HTML/tnew/eventid Use of uninitialized value in substitution (s///) at lib/XXV/MODULES/TIMERS.pm line 281.
+ * Fix: EPG/TIMER: search/tsearch, suche nach Texten mit Singlequote '
+ * Fix: Console: Bearbeiten von Strings z.B. Telnet/aedit Start/Stopzeit im Format 'HH:MM' [CODE(0x8e63370)]
+ * Fix: Console: Bearbeiten von Listen z.B. Telnet/tedit Can't use string ("KABEL1") as an ARRAY ref while "strict refs" in use at lib/XXV/OUTPUT/Console.pm line 194, <GEN3645> line 10.
+ * Fix: Übersetzung, lib/XXV/OUTPUT/*.pm sind jetzt auch lokalisiert
+ * Fix: "Unknown Request:" Ausgabe statt auf Konsole jetzt im Log
+
+0.14d
+ * Feature: Config: Alle gefunden Übersetzungen werden jetzt als Auswahlliste in Config:General angezeigt.
+ * Feature: EPG: display zeigt auch Eintrage aus OLDEPG an
+ * Develop: script prepare/convert-translation durch locale/Makefile ersetzt
+ * Develop: locale/Makefile: Für weitere Sprachen erweitert, jetzt fehlt nur die Lokaliserung der "*.po" Dateien
+ * Fix: TIMERS: Neue Timer über EPG werden im Skin auch als default als aktiv markiert timer->{Status} angepasst (Schönheitsfehler)
+ * Fix: TIMERS: Unterstützung von Aufnahmetiteln mit Doppelpunkten (Norad)
+ * Fix: RECORDS: SearchEpgId berücksichtigte subtitle nicht, und lieferte damit falsche eventid
+ * Fix: RECORDS: Falsche Jahreszahl, MTIME != Aufnahmezeit (z.B. Aufnahme 31.12.2004 => Schnitt XX.XX.2005 => 31.12.2005) => parse 2005-01-16.04:35.88.99.rec
+ * Fix: RECORDS: rdisplay zeigt jetzt die richtige Startzeit an (vorher Stunde:Monat)
+ * Fix: TELNET: Bei schliessen der Telnetsession - print() on closed filehandle GEN10 at /usr/lib/perl/5.8/IO/Handle.pm line 147.
+ * Fix: VTX: Setzen der Anfangsseite im Template auf die Erste verhandene Seite im VTX-Index
+ * Fix: VTX: Argument " " isn't numeric in int at lib/XXV/MODULES/VTX.pm line 970.
+ * Fix: Use of uninitialized value in substitution (s///) at lib/XXV/OUTPUT/Html.pm line 201.
+ * Fix: Undefined subroutine &Template::Plugin::File::getpwuid at called at Template/Plugin/File.pm line 104.
+
+0.14c
+ * Skin: Html/wml: Neue Variable im Template "basedir" zum Testen im Skin auf Existenz des Previewbildes, um im Fehler Alternative zu ermöglichen
+ * Skin: Html/wml: Neue Variable im Template "userlevel" um Anmeldeabhängig das Template zu anzupassen (guest = Editieren ausblenden)
+ * Fix: TELNET/HTTPD/WAPD: cmd=help : es werden nur die Kommandos aufgelistet werden, für die der jeweilige anmeldete User berechtigt ist.
+ * Fix: TELNET/HTTPD/WAPD: widget/formstart.tmpl Reihenfolge der Überschrift korrigiert von <table><h1> nach <h1><table>
+ * Fix: RECORDS: Aufnahmetabelle wurde beim Start immer verworfen
+ * Fix: RECORDS: reinclude RecordStart on rlist
+ * Fix: DOC: Dokumentationsgeneration schreibt nach xxv/bin => fix: setzen des Ausgabeverzeichnisses pod2html --cachedir=/tmp
+ * Fix: User: allowCommand sperrt Kommandoausführung wenn Anwenderauthentifizierung deaktiviert ist
+ * Fix: Telnet: Anwenderauthentifizierung war nicht deaktiviert, obwohl dies konfiguriert war
+ * Fix: Telnet: Berechtigung der Kommandos bye => admin, reload => user
+ * Fix: Telnet: Kommando bye funktioniert nicht
+ * Fix: Übersetzung weiter vervollständig
+
+0.14b
+ * Feature: Autotimer: Mindestlaufzeit(mike)
+ * Feature: RECORDS: Standardskin mit überlick als Thumbnaillist (xpix)
+ * Feature: USER: User Modul deaktivieren koennen (poetter)
+ * Feature: RECORDS: Extra Parameter mplayercommand für Optionstring wg. Parameteränderung im mplayer ab pre6 (poetter)
+ * Fix: USER: man konnte sich anmelden wie man wollte, Zugang wurde gewaehrt (dido)
+ * Fix: REMOTE: sollte als guest gesperrt werden. (Mindesten die RC-Buttons) (andreas)
+ * Fix: ist es Absicht das im Useraccount keine Autotimer editiert werden können? (andreas)
+ * Fix: tupdate ist direkt nur als Admin möglich (andreas)
+ * Fix: cmd=remote&data=Volume+ , funktioniert nicht (andreas)
+ * Fix: Übersetzung vervollständig (andreas)
+
+0.13
+ * Feature: USER: Edit, delete and create User. The default user is 'xxv' with password 'xxv' (xpix)
+ * Feature: USER: Usermodul zur Authentifizierung. (xpix)
+ * Feature: MUSIC: Datenbank wird nur bei mrefresh geupdatet oder wenn die DB leer ist! (leifg)
+ * Feature: TIMER & AUTOTIMER: Default Lifetime und Priority ist jetzt konfigurierbar! (Andreas)
+ * Feature: MUSIC: Search funktion (msearch) eingebaut! (Andreas)
+ * Fix: MUSIC: DB Connect stirbt beim abspielen eines Titels (xpix & andreas)
+ * Fix: CHANNELS: parsen an die neue Channels.conf V1.3.x angepasst(xpix)
+ * Fix: HTTP: echte Headerfunktion von cgi lib(xpix)
+ * Fix: TIMERS: damit Timerkonflikte bei unterschiedlichen Sources ignoriert werden (Andreas)
+ * Fix: RECORDS: Rename Funktion wahr fehlerhaft! (Andreas)
+ * Fix: RECORDS: es kann auch keine reccmds.conf auf dem System existieren! (BlackKing)
+ * Fix: MUSIC: URI::Escape hatte im lib Ordner gefehlt! (BlackKing)
+ * Fix: TELNET: Term::Readline::Perl hatte im lib Ordner gefehlt! (xpix)
+
+
+0.12
+ * Feature: WAPD Server vorbereitet(!) fuer unimatrix, OHNE FUNKTION!
+ * Feature: Timer werden nur noch als ueberlappend gekennzeichnet, wenn sie nicht auf dem gleichen
+ Transponder liegen
+ * Feature: NEU: Music Plugin: Icecast Server, Managment, Playlists usw.
+ * Feature: MENU: Dhtml Hir.Menu um schneller auf die Funtionen zugreifen zu koennen
+ * Feature: NEU: STATUS Module (space, record ...). Hier wird alles angezeigt was relevant
+ fuer die linux maschine ist. Die Daten koennen spaeter besser dargestellt werden,
+ erstaml "nur" Tabellen.
+ * Feature: Records: Aufnahmen koennen jetzt mit entsprechenden Commands aus der reccmds.conf
+ im interface aufgerufen werden. z.B. (Mark for DVD-Writer) (xpix)
+ * Feature: Autotimer suchen mit Ausschluss Search: Enterprise, -Voyager (xpix)
+ * Feature: Alle Module langsam Language faehig machen (andreas & xpix)
+ * Feature: Switch mit Channelnamen
+ * Feature: In now und program werden jetzt auch die Subtitle angezeigt wenn vorhanden(Andreas)
+ * Feature: Bei den Autotimern die Anordnung von title und subtitle den User ueberlassen. (emanuel)
+ * Feature: Records: Extra logfile fuer mplayer
+ * Fix: Subtitle und title werden in den Records wie vom user angegeben
+ als oldepg abgespeichert (andreas)
+ * Fix: Records: Scheinbar wurden die Previewfiles mehrfach und doppelt erstellt, was eine lange
+ Wartezeit nach rupdate ergab. (andreas)
+ * Fix: Autotimer sucht jetzt wenn start und stop angegeben wurde nur noch nach
+ Sendungsbegin zwischen start und stop. (mike)
+ * Fix: Rename funktioniert nicht bei den Records die mit der Serienfuntion (Andreas)
+ * Fix: Fehlerhafte Eintraege nach mehreren Restarts, EPG Daten werden (erstmal)
+ bei restart geloescht.(xpix)
+
+0.11
+ * Feature: Html/Preferences wird jetzt ein Link zur Doku des Modules angezeigt.
+ * Feature: das help commando unter Telnet kann jetzt auch mit dem Namen eines Modules
+ aufgerufen werden, dann werden nur die commands angezeigt die das Modul beinhaltet.
+ Also z.B. 'help vtx'.
+ * Feature: Dokumentation wird jetzt automatisch generiert(xpix).
+ * Feature: Neues Kommando 'doc', dieses erstellt doku files aller Module
+ in dem Directory doc/*.pod. Ausserdem kann man sich mit 'doc modulname' die
+ entsprechende Dokumentation ansehen :)
+ * Feature: Configscreen fuer General.
+ * Feature: Neues Widget: password.
+ * Feature: Preferences: Einen Skinwechsel "on the fly" moeglich machen
+ * Feature: Autotimer: mit atoggle(at) kann jetzt ein AT deaktiviert o. aktiviert werden. (xpix)
+ * Feature: Autotimer list: nicht aktive AT werden jetzt gekennzeichnet. (xpix)
+ * Feature: VTX ist jetzt perl only (Andreas)
+ * Feature: StartStop Skript einbauen
+ * Feature: Multilingualer Unterstützung in den Modulen (vorerst nur VTX).(Dank an Andreas)
+ * Feature: Timer die Konflikte erzeugen, kenntlich machen.(xpix)
+ * Feature: Timer Liste Channels verlinkt auf program. (xpix)
+ * Feature: Autotimer Liste angepasst. (xpix)
+ * Feature: Autotimer mit Start und Stop Zeiten. (Emanuel)
+ * Feature: Timer die deaktiviert sind kenntlich machen.(xpix)
+ * Feature: Records werden jetzt je nach VFAT=0|1 beim kompilieren sicher gefunden.(andreas)
+ * Feature: Records werden jetzt auch bei symlink verarbeitet.(andreas)
+ * Fix: Mplayer vorschau angepasst fuer mehr Previews.(andreas)
+ * Fix: Loeschen der Timer -> redirect in Status Frame und Liste anzeigen.(xpix)
+
+0.10
+ * Feature: Timer die gerade aufgenommen werden, kenntlich machen.(xpix)
+ * Feature: RECORDS: Umbennenen von Records (andreas)
+ * Feature: Es existiert jetzt ein globales Javascriptfile $htmlRoot/javascript/global.js.(xpix)
+ * Feature: CHANNELS: Neue Option mit/ohne encrypted channels (andreas)
+ * Feature: TIMERS: Delete Dialog verbessert (xpix)
+ * Feature: Html: neues Template redirect aufrufen mit $console->redirect('url', 'timeout in sec') (xpix)
+ * Feature: Html: neue routine browser fuer metadaten (Referer usw...) (xpix)
+ * Feature: Ausgabe Module: neue routine typ, gibt den typ zurueck (HTML, TELNET, ...) (xpix)
+ * Fix: RECORDS:253 Regex fuer records geht immer noch net richtig(andreas).
+ * Fix: Andere Loeschmethode bei Previewimages (hulk, wastl)
+
+0.09:
+ * Feature: PreviewImages der Aufnahme (ersten 5min) in RECORDS (braucht mplayer)
+ * Feature: Es wäre sehr praktisch wenn die Ausgabe der Timer, nach zeitlichen Reihenfolge und
+ nicht nach Datenbankposition erfolgt.(andreas)
+ (puhh eine harte Nuss, aber geloest ;)
+ * Feature: Timer die neu legt werden (auch über Autotimer) sollten eine
+ definierbaren Vor- und Nachlauf bekommen.(andreas)
+ * Feature: Ebenfalls sehr sinnvoll würde ich es finden wenn die Ausgabe des Timerstart und Endzeiten im
+ besser lesbaren HH:MM Format erfolgt.(andreas)
+ * Feature: fuer die menuepunkte 'running now' und 'program guide'
+ waere ein button/link 'update epg now' oder so zu empfehlen.(wastl)
+ (Da der EPG Scan je nach rechnerleistung eine Weile braucht muss aber hier
+ mit einigen Minuten gerechnet werden, bevor man die neuen Daten sieht!)
+ * Fix: Loeschen der alten EPG daten nach einem tag (configurierbar)
+ wenn sie nicht in der record liste sind.
+ * Fix: Nun endlich, das favicon.ico ist da ;) Wer da mal ein schoeneres bauen moechte?
+ Alle Virtuellen Pinselschwinger sind herzlich willkommen ;)
+ * Fix: für "Records" (rupdate) muss wohl ein Patch im VDR aktiv sein, der bei "LSTR"
+ zusätzlich die Abspiellänge liefert..., mit einen normalen ungepatchten VDR werden keine Aufnahmen erkannt.
+ Das Format hier : 250-5 07.08 02:55 Titel~Subtitle
+ (bitte testen, ich hab hier leider nur einen gepatchten vdr)
+
+
+0.08:
+ * Feature: RECORDS Module (delete, rename and command to record)
+ - nur teilweise fertig!
+ * Feature: Reconfiguration beim HUP Signal
+ * Feature: CONFIG Module (change online cfg)
+ * Feature: display.tmpl add a record link
+ * Feature: EPG: now: mit Zeitangaben
+ - in now koennen jetzt Datenangaben gemacht werden wie '20:15' oder 'tomorrow 15:00'
+ - Syntax: http://search.cpan.org/~sbeck/DateManip-5.42a/Manip.pod
+ * Fix: EPG, laut andreas gehen EPG Infos verloren da die epgID nicht unique von Sender zu Sender ist
+ - epg id ist jetzt SID.EPGID also zb. sid = 28007 und epgid = 57011 ergibt eine epgid: 2800757011
+ * Fix: EPG: Daten werden sofort nach dem Start repariert
+ * Fix: EPG: Scheinbar werden Daten direkt in epg.data geaendert (ohne tail)
+ - alle x Stunden einen Fullscan machen
+ - neuer Config eintrag restart in stunden fuer restart
+
+0.07:
+ * Fix: Channels: clist: Suchfeld von id auf Name geaendert, somit
+ kann man jetzt nur bestimmte Sender sich auflisten lassen:
+ clist Erste
+ * Fix: VTX: Andreas hat noch wichtige Bugfixes eingebaut!
+ Dadurch wurde die Konfiguration unter dem Bereich VTX erweitert.
+ Eingesetzter Cachemodus des VDR-osdteletext-Plugins
+ "legacy"
+ > für ältere Versionen bis osdteletext-0.3.2
+ (für das traditionelle "one-file-per-page" System.)
+ "packed"
+ > für neuere Versionen ab osdteletext-0.4.0
+ (default, für das "one-file-for-a-few-pages" System.)
+
+ * Fix: EPG: der befehl 'program' kann jetzt entweder mit dem Name
+ oder der Positionsnummer aufgerufen werden. Danke an Markus!
+ * Feature: Remote: Livebild refresht wenn der User ein Funktion aktiviert
+ * Feature: Remote: Livebild refresht jetzt alle 5 Sekunden
+ * Feature: HTML: Etliche Anpassungen der einzelnen Templates
+ * Feature: Autotimer werden nach dem Speichervorganfort gesucht
+ * Feature: Outputmodule: neues Widget Checkbox
+ * Feature: Outputmodule: neues Widget multiple Liste
+ * Feature: Autotimer selektiv fuer bestimmte Kanaele (Andreas)
+ * Feature: Remote: neues command switch.
+ * Feature: Screenshot refreshen wenn Remotetaste gedrueckt.
+ * Fix: Echte HTTP Header
+ * Fix: Autotimerliste werden die channels mit namen angezeigt
+
+0.06:
+ * Fix: Numerische Channelauswahl in program (danke an AB)
+ * Fix: Standard Telnetport ist jetzt 8005
+
+0.06:
+ * Feature: Link zu add timer in timer und autotimer web interface
+ * Feature: Refresh der Daten in channels und timer wenn entsprechende Dateien geaendert worden sind.
+ * Fix: Keine Fehlermeldung wenn falsche URLs aufgerufen wurden.
+ * Fix: Interface wieder hergestellt, hatte sich verhalten wie TelnetServer.
+
+0.05:
+ * Feature: PID Handling usw.
+ * Feature: Neues Plugin REMOTE
+ * Fix: Logging ist jetzt unbuffered
+ * Fix: VTX: Handling von subpages verbessert (danke Andreas)
+
+0.04:
+ * Feature: Neue HTML Templates fuer Webinterface
+ * Feature: Messages und warnings gehen jetzt in ein Logfile (xxvd.cfg: General/LOGFILE)
+ * Feature: PID wird jetzt abgespeichert (xxvd.cfg: General/PIDFILE)
+ * Feature: xxvd forkt sich und gibt die PID aus
+ * Feature: Sinnvollere Anzeigen bei vielen Funktionen (display, now etc.pp)
+ * Feature: Neues Videotext Plugin (VTX)
+ Einen grossen Dank an Andreas Brachold der dieses Plugin entwickelt hat!
+ * Fix: Bei neuem Timer mit EPG Daten als defaults kam xxv voellig durcheinander
+ * Fix: Die Position der Channels fing erst bei 2 an zu zaehlen
+ * Fix: Tempfiles (grab) werden jetzt wirklich geloescht
+ * Fix: Endlosschleife wenn die Ports mit nmap gescannt wurden
+ (danke an nibbana der den Fehler endeckt hat)
+
+0.03:
+ * Feature: Neue HTML Templates fuer Webinterface
+ * Feature: Bevor ein neuer EPG Eintrag gespeichert wird, werden alte mit gleichem Channel und Starttime geloescht
+ * Feature: Neues Plugin GRAB, liest Livebild per svdrp Interface vom VDR und zeigt es an. (nur HTTPD)
+ * Fix: Timers - es konnte kein MDMDFSS@2004-01-01 eingegegen werden.
+ * Fix: Timers - unnoetiger Zeilenumbruch bei Summary
+ * Fix: Timers - yes/no Antwort hatte falsches Default(0/1)
+
+0.02:
+ * Fix: SQL Error wenn kein title definiert ist
+ * Fix: Wenn Autotimer oder Timer editiert, dann wurde ein neuer angelegt
+ * Fix: Fehler im Messagehandling unter Console
+
+0.01:
+ * First Version
diff --git a/doc/COPYING.txt b/doc/COPYING.txt
new file mode 100644
index 0000000..223ede7
--- /dev/null
+++ b/doc/COPYING.txt
@@ -0,0 +1,504 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+
diff --git a/doc/LIESMICH.txt b/doc/LIESMICH.txt
new file mode 100644
index 0000000..f889a9c
--- /dev/null
+++ b/doc/LIESMICH.txt
@@ -0,0 +1,65 @@
+Hallo Freunde,
+
+nun habe ich meine Androhung war gemacht und ein erstes Framework
+für XXV (Xtreme eXtension for Vdr) wahr gemacht. Natürlich brauche ich einige
+Tester da dieses Projekt ziemlich umfangreich ist. Schön wäre es auch wenn
+diejenigen ein wenig Perl können um vielleicht mir bei den Plugins zu helfen.
+
+Meldet Euch einfach per Mail bei mir wenn Ihr interessiert seid !
+
+Aber vorerst ... einige Erklärungen was eigentlich XXV ist ;)
+
+Wie ja einige von Euch wissen, habe ich früher ja viel am vdradmin gearbeitet.
+Durch diese Arbeit kam am Ende der vdradmin BigPatch raus ...
+letztendlich war es aber nur eine Krücke um den vorhandenen vdradmin zu erweitern.
+
+Bei dieser Arbeit an dem Patch schwebte mir immer eine einfachere Lösung vor
+die wesentlich strukturierter und einfacher zu erweitern ist.
+Es soll ein zentraler Dienst existieren bei dem verschiedene Ports offen sind
+und diese verschiedene Services bedienen können. Einen zusätzlichen port
+über ein Plugin einzurichten, sollte genauso einfach sein, wie auch einen
+bestimmten Service bereit zu stellen. Das schreiben eines Plugins geht sehr
+schnell da der Input (Vdr, DB usw) sowie der Output (Telnet, HTTP, ... )
+generisch realisiert wurde.
+Es soll also z.B. möglich sein, mit einer TelnetConsole, HttpBrowser,
+WapTelefon, etc. pp. einen Autotimer einzutragen. Dieser sollte wesentlich
+schneller die EPG-Daten durchsuchen können (MySQL-Datenbank) und über ein
+Interface dem vdr den neuen Timer mitteilt. Dabei wird natürlich auch dem
+singleModus des SVdrP Rechnung getragen und nur ein Befehl abgesendet und
+sofort wieder der Port geschlossen, damit andere Programme wieder auf den
+svdrp zugreifen können.
+
+Lange Rede kurzer Sinn, hier ein kleiner Überblick der derzeitigen Features:
+
+- komplett in Perl realsiert
+- sehr generisches Frontend
+- Plugin system
+- Datenbank Unterstützung
+- Epg-Daten werden regelmässig geparst und eingetragen
+- sehr einfaches pluginkonzept für zukünftige Erweiterungen
+- mehrere Services aus einem Dienst (Telnet, HTTP, ...)
+- Dump-Interface für externe Programme
+
+Realisiert wurde das alles dem Event Modul und natürlich eine MySQL Datenbank,
+die alle Daten (timers, epg, channels) aufnimmt und sich damit auch wunderbar
+die Sachen reorganisieren lassen.
+
+Eine Anleitung zum Installieren und ausführlichere Beschreibung findet ihr unter:
+
+http://www.vdr-wiki.de/wiki/index.php/Xxv
+
+Legal stuff
+-----------
+
+ (c) Copyright 2004-2006 Frank Herrmann / Berlin.
+ All rights reserved.
+
+ Written by Frank Herrmann <xpix at xpix dot de> and
+ Andreas Brachold <vdr04 at deltab dot de>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ The complete text of the license is found in the file COPYING.
diff --git a/doc/Makefile b/doc/Makefile
new file mode 100644
index 0000000..7b65192
--- /dev/null
+++ b/doc/Makefile
@@ -0,0 +1,71 @@
+#
+# Makefile to generate help pages
+#
+
+man = xxvd.1
+html = xxvd.html
+pdf = xxvd.pdf
+txt = xxvd.txt
+
+
+%.1: %.sgml
+ @docbook2x-man --to-stdout $< > $@
+
+#%.1: %.sgml
+# @docbook-to-man $< > $@
+
+%.texi: %.sgml
+ @docbook2x-texi --to-stdout $< > $@
+
+%.html: %.texi
+ @texi2html $<
+
+%.pdf: %.texi
+ @texi2pdf $< -o $@
+
+#%.txt: %.1
+# @groff -a -man -Tascii $< > $@
+
+#
+# generate html files
+#
+html: $(html)
+
+
+#
+# generate pdf files
+#
+pdf: $(pdf)
+
+
+#
+# generate man files
+#
+man: $(man)
+
+#
+# generate plain ascii files
+#
+#text: $(txt)
+
+#
+# generate all files
+#
+all: help
+
+#
+# clean generated files
+#
+clean:
+ @rm -f $(txt) $(man) $(pdf) $(html)
+
+#
+# End user targets
+#
+help:
+ @echo "----------- documentation make targets --------------"
+ @echo "man: generate manpages (requires: docbook2x-man)"
+ @echo "pdf: generate pdf (requires: docbook2x-texi, texi2pdf)"
+ @echo "html: generate html (requires: docbook2x-texi, texi2html)"
+# @echo "text: generate text (requires: docbook2x-man, groff)"
+
diff --git a/doc/NEWS.txt b/doc/NEWS.txt
new file mode 100644
index 0000000..048f74b
--- /dev/null
+++ b/doc/NEWS.txt
@@ -0,0 +1,871 @@
+27.06.2006 06:00
+
+[ANNOUNCE] XXV Stable version 0.80
+
+Nun denn, endlich ist es soweit. Leider hatte ich mein VDR System mit der c't
+5.0 Installation zerschossen und musste erstmal nach einer besseren Alternative
+suchen. VDR4YOU war letztendlich eine sehr gute Wahl, falls jemand den Autoren
+kennt ... eine kurze Mail wäre nett ;)
+
+Es gibt einen neuen Skin der alle Funktionen beinhaltet und auch eine Übersicht
+darstellt die an den Spaltenübersichten der Tv-Zeitschriften angehlehnt ist.
+Dieser wird in Zukunft auch der Standardskin werden, falls ich es noch einmal
+hinbekomme das er in allen Browsern gut dargestellt wird.
+
+http://www.xpix.de/downloads/xxv/xxv-xstyle-0.4.tgz
+
+Wie immer könnt Ihr diese Version unter folgender URL runterladen:
+
+http://www.xpix.de/downloads/xxv/?M=D
+
+Natürlich werden wir weiterhin die brandneuen Versionen als subversion
+repository Euch zur Verfügung stellen. Mit einem installiertem subversion ist es
+ziemlich leicht an diese Versionen ranzukommen:
+
+# Checkout:
+svn co http://sonne.bandt.net/repos/XXV
+
+# Update
+cd $SOURCEDIR
+svn up
+
+# Changelog
+svn log
+
+Wir werden auch wieder unsere allseits beliebte Wunschthread bauen und hoffen
+das Ihr Euch da rege dran beteiligt, dieser wird in den nächsten Tagen auf vdr
+-portal.de gestartet.
+
+XXV 0.80 lief bei mir jetzt seit 4 Wochen sehr stabil. Hier noch einmal eine
+Liste mit den erwähnenswerten Neuerungen:
+
+* AUTOTIMER :
+ Suche erweitert um Sonderzeichen '&', hiermit kann man nach txt UND txt
+ suchen. Da es kein explizites UND in dem Suchmechanismus gab, kann
+ man jetzt dies mit einem '&' Zeichen kennzeichnen. Z.b. Planet
+ Wissen, &Computer würde nach 'Planet Wissen' UND 'Computer'
+ suchen.
+
+* SHARE: Globale Bewertungsdatenbank
+ Wenn ein Timer programmiert wird, so werden dessen Eckdaten (EPGid sowie
+ Stopzeit) an eine globale Datenbank per SOAP weitergeleitet. Diese DB
+ kann von jedem XXV User abgefragt werden, somit kann man sich die TopTen
+ der am meisten programmierten Timer anzeigen lassen und nach shauen ob
+ man nicht vielleicht eine wichtige Sendung verpassen würde. Natürlich
+ unterscheiden sich die Events je nachdem ob man Kabel, Terrestrisch oder
+ Satellit benutzt, je nachdem zu welcher Gruppe man gehört bekommt man
+ auch nur diese Daten angezeigt. Also ein Satellit benutzer kann nicht
+ die TopTen der Kabelnutzer sehen.
+
+ Natürlich kann man diese Funktion jederzeit ausschalten.
+
+ Der Server läuft (noch) im Betastatus, es kann also sein das die Daten
+ mal nicht angezeigt werden. Sollte nicht so oft vorkommen, aber wir
+ ändern ab und zu da noch was.
+
+* CHANNELS: Channel liste und Edit Funktion.
+ Man kann sich jetzt in XXV die Channels anzeigen lassen und
+ entsprechende Einträge editieren.
+
+* EPG : Advanced Search mode!
+ Hier kann man auch nach dem Typ der Sendung suchen (DolbyDigital, 16:9).
+ Leider funktioniert das nur wenn man erweiterte EPG Infos benutzt, z.B.
+ Tvinfo usw.
+
+* EPG,AUTOTIMER: VPSPatch von Malte.
+ VPS-Zeiten werden übernommen falls VPS genuzt wird (DANKE Malte Schroeder!!)
+
+* EPG: Ausgabe mit CHANNELSGROUPS - FEATUREREQUEST[145]
+
+* EVENTS: Neues Modul um eine Eventdatenbank zu erstellen FEATUREREQUEST[126]
+ Events werden in den einzelnen Modulen eingetragen. Hiermit kann der
+ Modulprogrmmierer festlegen wann ein Event per Jabber, RSS, Mail an den
+ Nutzer geschickt werden soll.
+
+* INTERFACE : Ist jetzt ein SOAP Server.
+ Das Interface für ThirdParty Programme wurde auf SOAP umgestellt.
+
+* Installationsscript "install.sh" hinzugefügt
+ Alpha, mit diesem Skript kann man schnell (falls kein Debian zur
+ Hand) das XXV auf einem Linuxsystem installieren.
+
+* MUSIC :
+ Coverdaten werden jetzt per Amazon Webdienst geholt. Natürlich werden hier
+ meist nur die Mainstream-Sachen gefunden ;)
+
+ XXV versucht die GiantDisc DB zu kontaktieren falls diese unter
+ Einstellungen->Music->Muggle eingetragen wurde. Falls das nicht der Fall
+ ist, wird eine eigene Musikdatenbank erstellt.
+
+* NEWS::RSS :
+ zusätzlicher Parameter (...?cmd=request&data=rss&__version=2) für RSS 2.0
+
+* RECORDS:
+ Anzeige der Gesamt(abspiel)zeit
+ Radioaufnahmen werden bei videoPreview übersprungen (Danke Torsten/WarEagle)
+ Reduzierung der Festplattenaktivitäten beim Aktualisierung im Hintergrund.
+ Serverpush auch nach rdelete und redit FEATUREREQUEST[153]
+
+* STATUS :
+ Featurerequest[152] Die gemounteten Filesysteme werden jetzt mit angezeigt.
+ Featurerequest[152] Option damit statt der Tortengrafiken eine normale
+ Texttabelle angezeigt wird.
+
+* TIMERS:
+ An 1.3.44 angepasst, im AUX-Feld wird nur noch das Autotimer ID gespeichert,
+ Event wenn neue Timer auftauchen die keine Autotimer sind
+ Neuer Event 'toogleTimer' jetzt auch mit 'on|off' auswertung -> und gefixt
+
+------------------------------------------------------------------------------
+
+
+10.05.2006 06:00
+
+[ANNOUNCE] XXV Beta version 0.71
+
+Dies ist die offizielle Betaversion von XXV in Vorbereitung der Stable (0.8x)
+die dann hoffentlich zeitgleich mit der offiziellen Stable vom VDR (1.40)
+erscheinen wird.
+
+Wir haben sehr viele Bugfixes und Anpassungen eingebaut und ausführlich getestet.
+
+Es gibt einen neuen Skin der alle Funktionen beinhaltet und auch eine Übersicht
+darstellt die an den Spaltenübersichten der Tv-Zeitschriften angehlehnt ist.
+Dieser wird in Zukunft auch der Standardskin werden, falls ich es noch einmal
+hinbekomme das er in allen Browsern gut dargestellt wird.
+
+http://www.xpix.de/downloads/xxv/xxv-xstyle-0.2.tgz
+
+Wie immer könnt Ihr diese Version unter folgender URL runterladen:
+
+http://www.xpix.de/downloads/xxv/?M=D
+
+Natürlich werden wir weiterhin die brandneuen Versionen als subversion
+repository Euch zur Verfügung stellen. Mit einem installiertem subversion ist es
+ziemlich leicht an diese Versionen ranzukommen:
+
+# Checkout:
+svn co http://sonne.bandt.net/repos/XXV
+
+# Update
+cd $SOURCEDIR
+svn up
+
+# Changelog
+svn log
+
+Wir werden auch wieder unsere allseits beliebte Wunschthread bauen und hoffen
+das Ihr Euch da rege dran beteiligt, dieser wird am Ende der Betaphase (ca. 2
+Wochen) erscheinen.
+
+
+Hier die Neuerungen:
+
+ * AUTOTIMER :
+ Suche erweitert um Sonderzeichen '&', hiermit kann man nach txt UND txt
+ suchen. Da es kein explizites UND in dem Suchmechanismus gab, kann
+ man jetzt dies mit einem '&' Zeichen kennzeichnen. Z.b. Planet
+ Wissen, &Computer würde nach 'Planet Wissen' UND 'Computer'
+ suchen.
+
+ * SHARE: Globale Bewertungsdatenbank
+ Wenn ein Timer programmiert wird, so werden dessen Eckdaten (EPGid sowie
+ Stopzeit) an eine globale Datenbank per SOAP weitergeleitet. Diese DB
+ kann von jedem XXV User abgefragt werden, somit kann man sich die TopTen
+ der am meisten programmierten Timer anzeigen lassen und nach shauen ob
+ man nicht vielleicht eine wichtige Sendung verpassen würde. Natürlich
+ unterscheiden sich die Events je nachdem ob man Kabel, Terrestrisch oder
+ Satellit benutzt, je nachdem zu welcher Gruppe man gehört bekommt man
+ auch nur diese Daten angezeigt. Also ein Satellit benutzer kann nicht
+ die TopTen der Kabelnutzer sehen.
+
+ Natürlich kann man diese Funktion jederzeit ausschalten.
+
+ Der Server läuft (noch) im Betastatus, es kann also sein das die Daten
+ mal nicht angezeigt werden. Sollte nicht so oft vorkommen, aber wir
+ ändern ab und zu da noch was.
+
+ * CHANNELS: Channel liste und Edit Funktion.
+ Man kann sich jetzt in XXV die Channels anzeigen lassen und
+ entsprechende Einträge editieren.
+
+ * EPG : Advanced Search mode!
+ Hier kann man auch nach dem Typ der Sendung suchen (DolbyDigital, 16:9).
+ Leider funktioniert das nur wenn man erweiterte EPG Infos benutzt, z.B.
+ Tvinfo usw.
+
+ * EPG,AUTOTIMER: VPSPatch von Malte.
+ VPS-Zeiten werden übernommen falls VPS genuzt wird (DANKE Malte Schroeder!!)
+
+ * EPG: Ausgabe mit CHANNELSGROUPS - FEATUREREQUEST[145]
+
+ * EVENTS: Neues Modul um eine Eventdatenbank zu erstellen FEATUREREQUEST[126]
+ Events werden in den einzelnen Modulen eingetragen. Hiermit kann der
+ Modulprogrmmierer festlegen wann ein Event per Jabber, RSS, Mail an den
+ Nutzer geschickt werden soll.
+
+ * INTERFACE : Ist jetzt ein SOAP Server.
+ Das Interface für ThirdParty Programme wurde auf SOAP umgestellt.
+
+ * Installationsscript "install.sh" hinzugefügt
+ Alpha, mit diesem Skript kann man schnell (falls kein Debian zur
+ Hand) das XXV auf einem Linuxsystem installieren.
+
+ * MUSIC :
+ Coverdaten werden jetzt per Amazon Webdienst geholt. Natürlich werden hier meist
+ nur die Mainstream-Sachen gefunden ;)
+
+ XXV versucht die GiantDisc DB zu kontaktieren falls diese unter
+ Einstellungen->Music->Muggle eingetragen wurde. Falls das nicht der Fall
+ ist, wird eine eigene Musikdatenbank erstellt.
+
+ * NEWS::RSS :
+ zusätzlicher Parameter (...?cmd=request&data=rss&__version=2) für RSS 2.0
+
+ * RECORDS:
+ Anzeige der Gesamt(abspiel)zeit
+ Radioaufnahmen werden bei videoPreview übersprungen (Danke Torsten/WarEagle)
+ Reduzierung der Festplattenaktivitäten beim Aktualisierung im Hintergrund.
+ Serverpush auch nach rdelete und redit FEATUREREQUEST[153]
+
+ * STATUS :
+ Featurerequest[152] Die gemounteten Filesysteme werden jetzt mit angezeigt.
+ Featurerequest[152] Option damit statt der Tortengrafiken eine normale Texttabelle angezeigt wird.
+
+ * TIMERS:
+ An 1.3.44 angepasst, im AUX-Feld wird nur noch das Autotimer ID gespeichert,
+ Event wenn neue Timer auftauchen die keine Autotimer sind
+ Neuer Event 'toogleTimer' jetzt auch mit 'on|off' auswertung -> und gefixt
+
+
+
+------------------------------------------------------------------------------
+
+31.12.2005 06:00
+
+[ANNOUNCE] XXV Stable version 0.60
+
+Gerade noch rechtzeitig zum Ende des Jahres können wir endlich die neue XXV
+Stable Version freigeben. Es gab noch einige Fixes und ein paar kosmetische
+Änderungen im Code. Ansonsten läuft XXV sehr stabil, hier auf meinem System im
+24/7 Betrieb über einen Monat ohne Probleme.
+
+Wie immer könnt Ihr diese Version unter folgender URL runterladen:
+
+http://www.xpix.de/downloads/xxv/?M=D
+
+[ANNOUNCE] XXV Skin xstyle
+
+Sozusagen als nachträgliches Weihnachtsgeschenk habe ich mich endlich an einen
+neuen Skin gesetzt, der das Ziel hat nur durch CSS Anweisungen XXV in einem
+neuen Design erscheinen zu lassen. Zukünftige SkinDesigner brauchen dann nur
+noch die *.css sowie die Bilder austauschen. Natürlich arbeite ich noch ein
+wenig an dem Skin, aber eine erste Version ist schon mal fertig.
+
+http://www.xpix.de/downloads/xxv/xxv-xstyle-0.1.tgz
+
+Zur Zeit sieht es in dem xstyle dir noch ein wenig wie Kraut und Rüben aus, also
+nicht schimpfen! ;)
+
+Das Archiv einfach laden, entpacken und unter Einstellungen -> HTTPD -> HtmlRoot
+auf 'xstyle' einstellen. Evtl. danach einmal F5 im Browser aktivieren und das
+wars.
+
+Ich wünsche Euch viel Spass damit und hoffe das wir im nächsten Jahr genauso
+erfolgreich wie in den letzten unseren VDR tunen.
+
+xpix
+
+------------------------------------------------------------------------------
+
+07.10.2005 22:35
+
+[ANNOUNCE] XXV Betaversion 0.50
+
+lange hatte es gedauert. Nachdem wir den schönen Sommer genossen haben, wurde es
+auch langsam Zeit eine neue Version von XXV als Beta zu veröffentlichen. Die
+Versionsnummer ist ab jetzt die 0.50, diese bereitet die stable Version 0.60
+vor, die dann auch hoffentlich zeitgleich mit der 1.4 vom vdr zusammentrifft.
+
+Wie immer könnt Ihr diese Version unter folgender URL runterladen:
+
+http://www.xpix.de/downloads/xxv/?M=D
+
+Natürlich werden wir weiterhin die brandneuen Versionen als subversion
+repository Euch zur Verfügung stellen. Mit einem installiertem subversion ist es
+ziemlich leicht an diese Versionen ranzukommen:
+
+# Checkout:
+svn co http://sonne.bandt.net/repos/XXV
+
+# Update
+cd $SOURCEDIR
+svn up
+
+# Changelog
+svn log
+
+Wir werden aber wieder unsere allseits beliebte Wunschthread bauen und hoffen
+das Ihr Euch da rege dran beteiligt, dieser wird am Ende der Betaphase (ca. 2 Wochen)
+erscheinen.
+
+Es gibt auch einige Änderungen in dem Bughandling, da sich die Threads in vdr
+-portal.de immer Grössen erreichen die uns als Entwickler dann schon manchmal
+peinlich sind, haben wir ein Bugzilla System eingerichtet.
+
+http://sonne.bandt.net/bugzilla/
+
+IHR SEID ALLE AUFGERUFEN EUCH IN DIESEM SYSTEM REGISTRIEREN ZU LASSEN.
+
+Die Vorteile liegen auf der Hand, kein Bug wird jemals verloren gehen! Ihr könnt
+selber entscheiden wann ein Bug wirklich als gefixt gilt (und uns damit auch
+ziemlich ärgern ;).
+
+ALSO WER SICH SICH REGISTRIEREN LASSEN MÖCHTE, DER SCHREIBT MIR
+EINFACH EINE EMAIL AN XPIX(AT)XPIX(DOT)DE UND ER BEKOMMT EINEN ZUGANG.
+
+Ausserdem werden wir Eure Wünsche ebenfalls als ToDo's in diesem System
+eintragen, so das ihr da auch ein Auge drauf haben könnt.
+
+Hier nochmal einen kurzen Auszug was xxv eigentlich überhaupt ist:
+
+*xxv ist ein zentraler Dienst zur Administrierung des VDR und dessen Umgebung,
+bei dem verschiedene Ports offen sind und diese verschiedene Services bedienen
+können.*
+
+*Einen zusätzlichen Port über ein Plugin einzurichten sollte genauso einfach
+sein, wie auch einen bestimmten Service bereitzustellen. Das Schreiben eines
+Plugins geht sehr schnell, da der Input (Vdr, DB usw) sowie der Output (Telnet,
+HTTP, ... ) generisch realisiert wurde. Es soll also z.B. möglich sein, mit
+einer TelnetConsole, HttpBrowser, WapTelefon, etc. einen Autotimer einzutragen.
+Dieser sollte wesentlich schneller die EPG-Daten durchsuchen können (MySQL
+-Datenbank) und über ein Interface dem VDR den neuen Timer mitteilen. Dabei wird
+natürlich auch dem singleModus des SVdrP Rechnung getragen und nur ein Befehl
+abgesendet. Danach wird der Port sofort wieder geschlossen, damit andere
+Programme wieder auf den svdrp zugreifen können.*
+
+WIR MOECHTEN EUCH ALLE BITTEN AN DEM BETATEST TEILZUNEHMEN UND UNS DIE BUGS
+UM DIE OHREN ZU HAUEN. NUR SO KANN XXV RICHTIG GUT WERDEN!
+
+Hier noch ein paar sehr wichtige Links:
+
+* Was gibts für neue Features?
+Hier werden alle Features ausführlich beschrieben und wurden mit Screenshots
+untermalt ;)
+http://xpix.dieserver.de/content/vdr/xxv/b_284_artikel.shtml
+
+* Wie installiere ich xxv?
+Diese Seite ist z.Zt. die offizielle Manualpage, alle Fragen zur Installation
+und wie man xxv zum laufen bekommt sind hier Schritt für Schritt beschrieben.
+Wenn ihr also xxv das erste Mal installiert dann solltet ihr hier auf jeden Fall
+anfangen:
+http://www.vdr-wiki.de/wiki/index.php/Xxv
+
+* Wo bekomm ich die (absolut) aktuelle Version per subversion her?
+http://www.vdr-wiki.de/wiki/index.php/Xxv#Subversion_checkout
+
+* Wo bekomm ich die (fast) aktuelle Version per Download her?
+http://www.xpix.de/downloads/xxv
+
+So jetzt wünschen wir Euch viel Spass mit der BetaVersion von xxv
+
+xpix und hulk
+
+
+------------------------------------------------------------------------------
+
+20.05.2005 21:10
+
+Hallo Freunde,
+
+Nun ist es endlich geschafft! Xxv ist soweit um in die nächste Betatestphase
+zu gehen. Wir bereiten jetzt die Version 0.40 vor ... das heisst das wir ab sofort
+keine Features mehr annehmen. Zur Zeit ist die aktuelle Versionsnummer 0.35.
+
+http://www.xpix.de/downloads/xxv/?M=D
+
+Wir werden aber wieder unsere allseits beliebte Wunschthread bauen und hoffen
+das Ihr Euch da rege dran beteiligt, dieser wird am Ende der Betaphase (ca. 2 Wochen)
+erscheinen.
+
+Es gibt auch einige Änderungen in dem Bughandling, da sich die Threads in vdr
+-portal.de immer Grössen erreichen die uns als Entwickler dann schon manchmal
+peinlich sind, haben wir ein Bugzilla System eingerichtet.
+
+IHR SEID ALLE AUFGERUFEN EUCH IN DIESEM SYSTEM REGISTRIEREN ZU LASSEN.
+
+Die Vorteile liegen auf der Hand, kein Bug wird jemals verloren gehen! Ihr könnt
+selber entscheiden wann ein Bug wirklich als gefixt gilt (und uns damit auch
+ziemlich ärgern ;).
+
+ALSO WER SICH SICH REGISTRIEREN LASSEN MÖCHTE, DER SCHREIBT MIR
+EINFACH EINE EMAIL AN XPIX(AT)XPIX(DOT)DE UND ER BEKOMMT EINEN ZUGANG,
+SOWIE DIE URL VON UNSEREM BUGZILLA SYSTEM.
+
+Ausserdem werden wir Eure Wünsche ebenfalls als ToDo's in diesem System
+eintragen, so das ihr da auch ein Auge drauf haben könnt.
+
+Hier nochmal einen kurzen Auszug was xxv eigentlich überhaupt ist:
+
+*xxv ist ein zentraler Dienst zur Administrierung des VDR und dessen Umgebung,
+bei dem verschiedene Ports offen sind und diese verschiedene Services bedienen
+können.*
+
+*Einen zusätzlichen Port über ein Plugin einzurichten sollte genauso einfach
+sein, wie auch einen bestimmten Service bereitzustellen. Das Schreiben eines
+Plugins geht sehr schnell, da der Input (Vdr, DB usw) sowie der Output (Telnet,
+HTTP, ... ) generisch realisiert wurde. Es soll also z.B. möglich sein, mit
+einer TelnetConsole, HttpBrowser, WapTelefon, etc. einen Autotimer einzutragen.
+Dieser sollte wesentlich schneller die EPG-Daten durchsuchen können (MySQL
+-Datenbank) und über ein Interface dem VDR den neuen Timer mitteilen. Dabei wird
+natürlich auch dem singleModus des SVdrP Rechnung getragen und nur ein Befehl
+abgesendet. Danach wird der Port sofort wieder geschlossen, damit andere
+Programme wieder auf den svdrp zugreifen können.*
+
+
+WIR MOECHTEN EUCH ALLE BITTEN AN DEM BETATEST TEILZUNEHMEN UND UNS DIE BUGS
+UM DIE OHREN ZU HAUEN. NUR SO KANN XXV RICHTIG GUT WERDEN!
+
+Hier noch ein paar sehr wichtige Links:
+
+* Was gibts für neue Features?
+Hier werden alle Features ausführlich beschrieben und wurden mit Screenshots
+untermalt ;)
+http://xpix.dieserver.de/content/vdr/xxv/b_280_artikel.shtml
+
+* Wie installiere ich xxv?
+Diese Seite ist z.Zt. die offizielle Manualpage, alle Fragen zur Installation
+und wie man xxv zum laufen bekommt sind hier Schritt für Schritt beschrieben.
+Wenn ihr also xxv das erste Mal installiert dann solltet ihr hier auf jeden Fall
+anfangen:
+http://www.vdr-wiki.de/wiki/index.php/Xxv
+
+* Wo bekomm ich die (absolut) aktuelle Version per subversion her?
+http://www.vdr-wiki.de/wiki/index.php/Xxv#Subversion_checkout
+
+* Wo bekomm ich die (fast) aktuelle Version per Download her?
+http://www.xpix.de/downloads/xxv
+
+* Wo wurde die Alphaversion diskutiert
+http://www.vdr-portal.de/board/thread.php?threadid=32684
+
+Dieser Thread hier ist hauptsächlich für Bugfixes gedacht und sollte auch so
+verstanden werden.
+
+So jetzt wünschen wir Euch viel Spass mit der BetaVersion von xxv
+
+xpix und hulk
+
+=================================================================================
+01.05.2005 20:15
+Hallo Freunde,
+
+nun ist es mal wieder soweit!!! Wir haben die nächste Dev Version - 0.30 endlich fertig.
+Einige neue Funktionen sind dazu gekommen, einige Bugs haben wir (hoffentlich)
+endgültig getilgt. Viele Eurer Vorschläge haben wir versucht zu verwirklichen
+und andere mussten wir leider entweder canceln oder in die nächste Version schieben.
+Entsprechende Informationen könnt Ihr der CHANGELOG.txt entnehmen.
+
+
+================================================================================
+Die übliche Warnung: DIES IST EINE ALPHAVERSION, BENUTZUNG AUF EIGENE GEFAHR!
+================================================================================
+
+Das diese Version etwas länger hat auf sich warten lassen hat verschiedene Gründe.
+
+
+NEW FEATURES
+================================================================================
+
+Neben den hunderten kleinen und grossen Bugfixes, gibt es natürlich auch neue Funktionen:
+
+
+RECORDS:
+
+* Eine übersichtliche Tabellendarstellung, wenn die Einstellung Previewcommand
+ auf 'Keines' eingestellt ist. Logischerweise versucht xxv in dem Fall
+ auch nicht Previewimages darzustellen.
+
+
+STREAM (neu):
+
+* Endlich!! Mein Traum war es schon immer, das ich eine Aufnahme mir direkt im
+ Browser anschauen kann! Dafür habe ich das neue Modul STREAM geschrieben.
+ Dieses ist aber vorerst nur eine Studie!! XXV benutzt den ffserver
+ sowie ffmpeg Version 0.4.8 um die entsprechende Aufnahme zu repacken und
+ diese dann über das Netz an den Browser zu schicken.
+ Ein embedded Windows Media Player stellt dann diesen Stream dar.
+ So meine Idealvorstellung :)
+
+Die Probleme dabei:
+
+ 1. xxv muss auf einer Maschine > 1.5 Ghz laufen, da der onthefly streamer eine Menge Power braucht
+ 2. FFMpeg MUSS in der Version 0.4.8 installiert sein! 0.4.9 funktioniert leider nicht,
+ da der ffserver nicht an die neue Version von ffmpeg angepasst wurde!
+ 3. Der Stream läuft sehr ruckelnd auf meiner 1.8 GHz Maschine!
+
+ Wie könnt ihr uns helfen damit wir die Probleme in den Griff bekommen?!:
+
+ Experimentiert bitte mal mit den Einstellungen unter $SOURCEDIR/XXV/streamcfg rum.
+ Ihr könnt hier neue Testdateien erstellen und diese dann live ausprobieren. So wirds gemacht:
+
+ 1. Erstellt eine eigene Testdatei in dem Verzeichniss $SOURCEDIR/XXV/streamcfg mit dem Namen <myStream>.<format>.cfg:
+ vdr:~# nano $SOURCEDIR/XXV/streamcfg/myStream.asf.cfg
+
+ 2. Schreibt z.B. folgenden Inhalt:
+ #-----------8<-----------------
+ <Stream myStream.asf> # Muss unbedingt den gleichen Namen wie die Datei haben (<myStream>.<format>)
+ Feed xxvd.ffm # Dieses nicht verändern!
+ Format mp4 # Ab hier könnt ihr Eurer Kreativität freien Lauf lassen
+ AudioBitRate 64
+ VideoFrameRate 15
+ VideoSize cif
+ VideoBitRate 256
+ VideoGopSize 30
+ VideoCodec mpeg4
+ AudioCodec pcm_s16le
+ StartSendOnKey
+ </Stream>
+ #-----------8<-----------------
+
+ Mehr Informationen über den genauen Syntax der Konfigurationsdatei erfahrt ihr hier:
+ http://ffmpeg.sourceforge.net/ffserver-doc.html
+
+ Wenn ihr wissen wollt welche Codecs Euch auf Eurem System zur Verfügung stehen dann ruft folgendes auf:
+ ffmpeg -formats
+ Output audio/video file formats: mpeg vcd vob mpegts crc image imagepipe ac3 h263 m4v h264 mpeg1video mjpeg s16le s16be
+ u16le u16be s8 u8 mulaw alaw rawvideo null mp2 mp3 rm asf asf_stream avi wav swf au gif mov 3gp mp4 mpjpeg singlejpeg dv
+ flv yuv4mpegpipe ogg ffm audio_device nut rtp
+ Input audio/video file formats: mpeg mpegts image imagepipe ac3 h263 m4v h264 mpegvideo mjpeg s16le s16be u16le u16be
+ s8 u8 mulaw alaw rawvideo mp3 rm asf avi wav swf au gif mov dv 4xm flv psxstr RoQ ipmovie wc3movie yuv4mpegpipe ogg
+ ffm video4linux audio_device dv1394 nut rtsp redir sdp rtp
+ Output image formats:
+ pbm pgm ppm pam pgmyuv yuv png jpeg gif
+ Input image formats:
+ pnm pam pgmyuv yuv png jpeg gif
+ Codecs:
+ Encoders: ac3 mp2 mp3 vorbis mpeg1video mpeg2video h263 h263p flv rv10 mpeg4 msmpeg4v1 msmpeg4v2 msmpeg4 wmv1
+ wmv2 mjpeg ljpeg huffyuv asv1 asv2 ffv1 rawvideo pcm_s16le pcm_s16be pcm_u16le pcm_u16be pcm_s8 pcm_u8
+ pcm_alaw pcm_mulaw adpcm_ima_qt adpcm_ima_wav adpcm_ima_dk3 adpcm_ima_dk4 adpcm_ms adpcm_4xm
+ Decoders: vorbis rawvideo h263 mpeg4 msmpeg4v1 msmpeg4v2 msmpeg4 wmv1 wmv2 h263i flv rv10 svq1
+ svq3 wmav1 wmav2 indeo3 aac mpeg4aac mpeg1video mpeg2video dvvideo dvaudio mjpeg mjpegb mp2 mp3 mace3 mace6
+ huffyuv ffv1 cyuv h264 vp3 asv1 asv2 vcr1 cljr 4xm mdec roqvideo interplayvideo xan_wc3 real_144 real_288
+ roq_dpcm interplay_dpcm xan_dpcm pcm_s16le pcm_s16be pcm_u16le pcm_u16be pcm_s8 pcm_u8 pcm_alaw pcm_mulaw
+ adpcm_ima_qt adpcm_ima_wav adpcm_ima_dk3 adpcm_ima_dk4 adpcm_ms adpcm_4xm
+ Supported file protocols: file: pipe: udp: rtp: tcp: http:
+ Frame size, frame rate abbreviations: ntsc pal qntsc qpal sntsc spal film ntsc-film sqcif qcif cif 4cif
+ Motion estimation methods: zero(fastest) full(slowest) log phods epzs(default) x1
+
+ 3. Wenn ihr Eure änderungen gespeichert habt, wechselt in das Webinterface und stellt Euren neuen Stream unter
+ Einstellungen -> Stream -> Serverconf
+ ein.
+
+ 4. Anschliessend wechselt Ihr zur Aufnahmenliste und wählt eine Aufnahme aus. Dort klickt ihr dann auf den Link
+ "Watch Record" oder "Aufnahme anzeigen"
+
+ 5. Falls irgend etwas nicht funktioniert solltet Ihr Euch das entsprechende Logfile anschauen
+ vdr:~# tail -f /var/log/xxvd*.log
+
+ Eure Erfahrungen, Rechnerdaten (CPU) und Configfiles könnt ihr mir gerne
+ unter www.vdr-portal.de als pn an xpix zukommen lassen.
+ Wir sind an Euren Ergebnissen SEHR INTERESSIERT und wollen die besten Vorschläge
+ als Default in den nächsten Versionen von xxv aufnehmen.
+
+
+
+MUSIC:
+
+* WebInterface: Viele User hatten ja mehr als 1000 MP3 Titel auf ihrem vdr rumlungern,
+ so das damit das Javascript Konzept absolut nicht damit klar kam. Das neue Interface
+ ist nun reines html und zum Glück auch wesentlich schneller im Seitenaufbau.
+
+* GTag die Covers als ImageFiles aus dem Internet zu saugen.
+ Wir nutzen dafür ein Perl Modul WWW::Mechanize, das auch natürlich zusätzlich
+ installiert werden muss. Dieses Modul emuliert einen Webuser, der ganz normal
+ seinen Suchbegriff(Albumnamen, Erscheinungsjahr) auf der Suchseite des allseits
+ berühmen Musikportals www.allofmp3.com eingibt und dann das Ergebniss nach den
+ entsprechenden Albumcover durchsucht und dieses letztendlich auf den vdr lädt.
+ Diese Cover werden dann im Musicinterface mit angezeigt.
+
+HTTP:
+
+* Eine Processbar wird angezeigt wenn Prozesse gestartet werden die etwas länger
+ dauern (Musik neu einlesen, getCovers)
+* Es kann jetzt eine Startseite unter Preferences -> HTTPD -> StartPage individuell
+ festgelegt werden, (Jetzt läuft, Programm, Autotimer, ...)
+
+EPG:
+
+* Events werden gesondert gekennzeichnet, wenn diese als Timer aufgezeichnet werden.
+
+TIMER:
+
+* Timer referenzieren jetzt auf Ihren EPG Eintrag, falls dieser vorhanden ist.
+* Inactive Timer werden jetzt gelöscht falls diese mehr als einen Monat in der
+ Zukunft liegen. Es kam öfters vor, das ein Timer per Autotimer programmiert
+ wurde, dieser wurde wegen Desinteresse deaktiviert.
+ Wenn der Timer abgelaufen war, tauchte er automatisch genau einen Monat später
+ wieder in der Liste auf. Diese "Timerleichen" mussten dann immer mühsam von Hand
+ gelöscht werden.
+ Das passiert jetzt automatisch wenn TIMERS -> Einstellungen -> Deactive auf 'yes' gesetzt ist.
+
+AUTOTIMER:
+
+* Autotimer können bestimmen ob Timer mit VPS und eigenem Vor- und Nachlauf angelegt werden.
+* Bei einem Update werden jetzt zusätzlich auch die Channelnamen der gefundenen Events angezeigt.
+* Autotimer - Einstellung - exclude: Exclude-Kanalliste um für bestimme Kanäle
+ die Suche nach Events generell auszuschliessen.
+
+ROBOT (neu):
+
+* Neues Modul zum automatsichem Surfen sowie Downloaden der xxv relevanten Daten.
+ Siehe auch MUSIC:GetCovers in diesem Dokument.
+
+USER:
+
+* Bestimmte Parameter können jetzt bei dem User eingestellt werden.
+ Dabei nutzen wir ein generisches System, wenn zum Beispiel der User xpix
+ nur den Skin Snow sehen möchte kann man das in den Usereinstellungen unter
+ 'Prefs' mit 'HTTPD::HtmlRoot=snow' sehr schön einstellen.
+ Natürlich kann man auch alle anderen Parameter der Module dem User zuteilen,
+ z.B. möchten wir zusätzlich, das der User xpix nur Timer definieren darf,
+ deren Priorität lediglich bei 30 liegt. Das würde dann so aussehen:
+
+ HTTPD::HtmlRoot=snow, TIMERS::Priority=30
+
+ Der Syntax lautet also 'Modulename::Parameter=Wert, Modulename::Parameter=Wert, ...' ...
+ wenn der User xpix auch nur als Level=User eingestellt ist, kann man somit
+ verhindern das dieser seine Einstellungen ändert.
+
+* Der User kann jetzt auch einen Logout vornehmen.
+
+RECORDS:
+
+* Es werden jetzt die Schnittmarken grafisch in der Recordübersicht dargestellt.
+* Viele Eigenschaften des Records sind jetzt editierbar.
+ (Marks, Lifetime, Priorität,...)
+* Hulk (Andreas) hat sich dem leidigen und wesentlich unperformanten Weg der
+ Previewbilderstellung angenommen und ein sehr schlankes C Programm
+ nahmens 'vdr2jpeg' geschrieben. Dieses Programm tut im Grunde nichts
+ anderes als Previewbilder bei bestimmten Marken zu erstellen.
+ Dieses wir natürlich auch von xxv unterstützt und kann
+ per "svn co http://bandt.dyndns.org/repos/vdr2jpeg" geholt werden.
+ Nähere Angaben zur Installation könnt ihr in der README Datei des Programmpaketes nachlesen.
+* Serien, oder Aufnahmen die in einen Gruppenordner zusammengefasst sind,
+ werden in rlist als Ordner angezeigt.
+
+STATUS:
+
+* Ein besonders nettes Feature, es werden jetzt Graphen erstellt
+ welche die Speicherauslastung sowie die Last eines bestimmten Zeitraumes
+ (Einstellungen -> Status -> History) darstellen.
+ Das Besondere daran, die Grafiken werden aus den Templates heraus erstellt,
+ so das jeder geneigte Skinprogrammierer seine eigenen Grafiken bei Bedarf
+ erstellen kann. In dem HTML Skin kann man das sehr schön unter Status sehen.
+
+EPG:
+
+* Es kann jetzt auch innerhalb eines Senders nach Events gesucht werden.
+
+REMOTE:
+
+* Der Intervall kann jetzt onthefly eingestellt werden
+* In dem grabbed Screen werden jetzt zusätzliche Informationen mit
+ eingezeichnet. (z.Zt.Sendernamen) Die Anzeige kann man unter
+ Einstellungen -> GRAB-> Imgtext einstellen. Ausserdem hat man unter 'Font'
+ die Möglichkeit den Zeichensatz sowie dessen Grösse unter 'Imgfontsize' einzustellen.
+
+Global:
+
+* Fast alle Module können in Ihrer Funktion deaktiviert werden
+ (Einstellungen -> ModName -> Active = 'no').
+* Die Templates sind jetzt ebenfalls lokaliert und übersetzbar, das heisst
+ der Skinprogrammierer kann über die gettext Routine auf die Übersetzungsdatenbank
+ zugreifen.
+
+Skin:html
+
+* Die Tabellen von timerlist sowie now,program werden jetzt nach Wochentagen gruppiert.
+* Fast überall wurden automatische redirects eingebaut, z.B. Timer editiert -> Timerlist
+* Timer die einen Konflikt mit einem anderen Timer haben, werden jetzt besonders hervorgehoben.
+ Timer die eine höhere Priorität haben werden braun gekennzeichnet.
+ Timer die eine kleinere Priorität als der andere haben werden rot dargestellt.
+
+
+
+INSTALLATION
+================================================================================
+
+Wir unterstützen ab sofort Subversion, das heisst also für Euch das auf Eurem
+System subversion installiert sein sollte. Wie Subversion-Clients auf
+Eurem System installiert werden könnt Ihr hier nachlesen:
+
+ http://subversion.tigris.org/project_packages.html
+
+
+* Download
+
+ cd $SOURCEDIR
+ svn co http://bandt.dyndns.org/repos/XXV
+
+
+
+* Detailierte Anleitung für Download, Checkout, UPDATE 0.20 -> 0.30
+================================================================================
+
+* xxvd stoppen
+ vdr:~# /etc/init.d/xxvd stop
+
+* Download des Reposity
+
+ vdr:~# cd $SOURCEDIR
+ vdr:~# svn co http://bandt.dyndns.org/repos/XXV
+
+* Eventuell /etc/init.d/xxvd an das neue Installationsverzeichnis anpassen
+ und anschliessend neustarten
+
+ vdr:~# /etc/init.d/xxvd start
+
+* Logfile anschauen:
+
+ vdr:~# cat /var/log/xxvd.log
+
+ bzw.
+
+ vdr:~# tail -f /var/log/xxvd.log
+
+
+Sollten im Logfile irgendwelche Fehlermeldungen wg. fehlender Module auftauchen,
+so solltet ihr diese Nachinstallieren. Wer nicht mehr weiss wie das geht,
+das wiki wird Dir helfen:
+
+http://www.vdr-wiki.de/wiki/index.php/Xxv#Perl_Module
+
+
+
+Da einige Tabellen auf Eurem System nicht mehr dem aktuellen Stand entsprechen,
+solltet ihr alle Tabellen löschen und xxv diese dann bei einem Restart neu einrichten lassen.
+Dazu sichern wir zuerst die Autotimer/Accounts und löscht anschliessend alle Tabellen:
+
++ Dies kann mit dem beigefügtem Upgrade Script erfolgen
+--------------------------------------------------------------------------------
+* In diesem Script muss eventuell der Datenbankname angepasst werden,
+ falls die Datenbank nicht xxv heisst.
+
+* Altes xxv beenden:
+ vdr:~# /etc/init.d/xxvd stop
+
+* Datenbank aktualiseren:
+
+ vdr:~# cd $SOURCEDIR/XXV/contrib
+ vdr:~# ./upgrade-xxv.sh
+ Enter password:
+
+* xxv aktualiseren und anschliessen neustarten:
+ vdr:~# /etc/init.d/xxvd start
+
+---------------
+
+
++ oder manuell nach folgender Anleitung
+--------------------------------------------------------------------------------
+
+* Altes xxv beenden:
+ vdr:~# /etc/init.d/xxvd stop
+
+* Autotimer und Accounts sichern:
+ vdr:~/XXV# mysql -h localhost -u USERNAME -p xxv
+ Enter password:
+ Reading table information for completion of table and column names
+ ...
+ mysql> select * INTO OUTFILE '/tmp/autotimer.sav' from AUTOTIMER;
+ Query OK, 10 rows affected (0.11 sec)
+ mysql> select * INTO OUTFILE '/tmp/user.sav' from USER;
+ Query OK, 2 rows affected (0.07 sec)
+
+* Alle Tabellen von xxv löschen (wir löschen einfach die gesamte Datenbank und erstellen Sie wieder):
+ mysql> drop database xxv;
+ Query OK, 24 rows affected (0.07 sec)
+
+ mysql> create database xxv;
+ Query OK, 1 row affected (0.06 sec)
+
+ mysql> quit
+ Bye
+
+* Neues xxv starten, damit werden alle Datenbanken angelegt werden
+ vdr:~# /etc/init.d/xxvd start
+
+* Logfile anschauen ob xxvd auch ohne Störung läuft
+ tail -f /var/log/xxvd.log
+
+* Autotimer und Accounts importieren:
+ vdr:~/XXV# mysql -h localhost -u USERNAME -p xxv
+ Enter password:
+ Reading table information for completion of table and column names
+ ...
+
+
+ mysql> load data infile '/tmp/autotimer.sav' into table AUTOTIMER;
+ Query OK, 10 rows affected (0.11 sec)
+
+ mysql> load data infile '/tmp/user.sav' into table USER;
+ Query OK, 2 rows affected (0.07 sec)
+
+ mysql> quit
+ Bye
+
+---------------
+
++ das Sichern der Autotimer ist auch im vdradmin Format per Im-& Export
+ per Telnet oder Webinterface möglich, allerdings unterstützt dieses Datenformat
+ nicht alle XXV-Feature
+--------------------------------------------------------------------------------
+
+* Autotimer exportieren:
+ per Telnet:
+ ae /tmp/autotimer.sav
+
+ oder per Webinterface:
+ http://vdr:8080/?cmd=ae&data=/tmp/autotimer.sav
+
+* Autotimer importieren:
+ per Telnet:
+ ai /tmp/autotimer.sav
+
+ oder per Webinterface:
+ http://vdr:8080/?cmd=ai&data=/tmp/autotimer.sav
+
+---------------
+
+
+* Späteres Update des Reposity
+================================================================================
+ Die Entwicklung weiter und wenn Ihr später eine aktualisierte Version
+ vom Server ziehen wollt, dann macht ein Update der geänderten Dateien
+
+ vdr:~# cd $SOURCEDIR/XXV
+ vdr:~# svn up
+ vdr:~# /etc/init.d/xxvd restart
+
+
+* Zusätzliche Skins
+================================================================================
+
+ Der aktuelle Entwicklerstand der Skins stone, snow, blue, deltab ist
+ ebenfalls als Reposity verfügbar
+
+ vdr:~# cd $SOURCEDIR
+ vdr:~# svn co http://bandt.dyndns.org/repos/XXV-Skins
+
+ bzw. zum späteren aktualisierten
+
+ vdr:~# cd $SOURCEDIR/XXV-Skins
+ vdr:~# svn up
+
+ um diese Skins nutzen können, müssen sie entweder parallel zum XXV-html Skin
+ kopiert werden. Oder einfach mit /etc/init.d/xxvd dieses Verzeichnis als
+ per Parameter --htmldir=$SOURCEDIR/XXV-Skins definiert werden, dieser Parameter
+ ist ebenfalls in der man-Page beschrieben. (man $SOURCEDIR/doc/xxvd.man)
+
+
diff --git a/doc/README.txt b/doc/README.txt
new file mode 100644
index 0000000..96d9733
--- /dev/null
+++ b/doc/README.txt
@@ -0,0 +1,65 @@
+Electronically translated, still another correction of the grammar and orthography needs
+----------------------------------------------------------------------------------------
+Hello friends,
+
+now has I mean menace was made and a first Framework for XXV (Xtreme eXtension for Vdr)
+made true. Naturally need I unite testers this project there is rather extensive.
+Over perhaps it would be beautiful even if those little Perl can me with the Plugins help.
+
+To you are simply by Mail to me if you announce interested !
+
+But for the time being... some explanations which actually XXV is;)
+
+As know some from you, I worked in former times much to vdradmin.
+By this work came at the end as vdradmin "BigPatch" ...
+finally it however only one sprag was to be extended by the existing vdradmin.
+
+With this work on the Patch me a simpler solution floated before substantially
+structure and more simply to always extend is. It is to be able to serve a
+central service to exist with that different of haven is open and these
+different services. An additional haven over a Plugin to furnish,
+should be just as simple, as placing also a certain service ready.
+Write a Plugins goes very fast there the input (Vdr, railways etc.)
+as well as the output (telnet, HTTP...) generically was realized.
+
+It should be e.g. possible thus to register with a telnet CONSOLE, HttpBrowser,
+WapPhone, etc. pp. an autotimer. This should be able to scan substantially
+faster the EPG data (MySQL data base) and over an interface vdr the new timer
+ communicates. Naturally also is considered to the single mode of the SVdrP
+and only one instruction is mailed and again the haven is closed immediately,
+so that other programs can access again svdrp.
+
+Long speech short sense, here a small overview of the present functions:
+
+ * completely in Perl realizes
+ * very generic front-end
+ * Plugin system
+ * Data base support
+ * Epg data are regularly parsed and registered
+ * very simple Plugin concept for future extensions
+ * several services from a service (Telnet, HTTP, ...)
+ * Dump interface for external programs
+
+That was realized everything the Event module and naturally a MySQL data base,
+which takes up all data (timer, epg, channels) and thereby also marvelously
+the things to be reorganized to be able..
+
+A guidance for installing and description in more detail find it under:
+
+http://www.linuxtv.org/vdrwiki/index.php/Xxv
+
+Legal stuff
+-----------
+
+ (c) Copyright 2004-2005 Frank Herrmann / Berlin.
+ All rights reserved.
+
+ Written by Frank Herrmann <xpix at xpix dot de> and
+ Andreas Brachold <vdr04 at deltab dot de>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ The complete text of the license is found in the file COPYING.
diff --git a/doc/TODO.txt b/doc/TODO.txt
new file mode 100644
index 0000000..1db426c
--- /dev/null
+++ b/doc/TODO.txt
@@ -0,0 +1,13 @@
+Featurerequest (ToDo DevVersion >= 0.50):
+
+* Zeitintensive Aufgaben sollten vorher den sysload prüfen (blafasel)
+* Coverbilder im mp3 Verzeichnis für Albumvorschau nutzen. (wilderigel)
+* Autotimer sollte auch die Aufnahmen beim suchen berücksichtigen (Karsten)
+* EPG-Bilder von tvmovie2vdr nutzen (sledgehammer)
+* Advances Search Dialog (sledgehammer)
+* commands.conf mit zur Verfügung stellen (xpix)
+* Echtes Telnetinterface mitr history usw. (xpix)
+* Eigenschaften MaxLifetime und MaxPrio bei Usern (wilderigel)
+* Server-Push für weitere langsame Vorgänge (Hulk)
+
+
diff --git a/doc/TUTORIAL.txt.gz b/doc/TUTORIAL.txt.gz
new file mode 100644
index 0000000..36e8f9c
--- /dev/null
+++ b/doc/TUTORIAL.txt.gz
Binary files differ
diff --git a/doc/docu.tmpl b/doc/docu.tmpl
new file mode 100644
index 0000000..aee6b15
--- /dev/null
+++ b/doc/docu.tmpl
@@ -0,0 +1,99 @@
+=head1 NAME
+
+<?% UNLESS Name == 'General' %?>
+XXV::MODULES::<?% Name %?>
+<?% ELSE %?>
+<?% Name %?>
+<?% END %?>
+
+<?% UNLESS Name == 'General' %?>
+=head1 SYNOPSIS
+
+ <?%
+ IF Name.match('NEWS::');
+ MODUL = "XXV::OUTPUT::${Name}";
+ ELSE;
+ MODUL = "XXV::MODULES::${Name}";
+ END;
+ %?>
+ use <?% MODUL %?>
+ my $auto = <?% MODUL %?>->new(
+ -config => \$Config,
+ -dbh => \$DBH,
+ -realbin=> \$RealBin,
+ );
+
+<?% ELSE %?>
+ ./bin/xxvd [--kill] [--configfile file] [--docu targetdir]
+
+<?% END %?>
+
+=head1 VERSION
+
+<?% Version %?> - <?% Date %?>
+
+=head1 DESCRIPTION
+
+<?% Description %?>
+
+=head1 CONFIGURATION
+
+=over 4
+
+<?% FOREACH prefname = Preferences.keys.sort %?>
+
+=item <?% loop.count %?> <?% prefname %?>
+
+<?% Preferences.$prefname.description %?>
+
+=over 4
+
+=item * default: <?% Preferences.$prefname.default %?>
+
+=item * type: <?% Preferences.$prefname.type %?>
+
+=item * required: <?% Preferences.$prefname.required ? "Yes" : "No" %?>
+
+=back
+
+<?% END %?>
+
+=back
+
+=head1 COMMANDS
+
+=over 4
+
+<?% FOREACH cmdname = Commands.keys.sort %?>
+
+=item * <?% cmdname %?> (<?% Commands.$cmdname.short %?>)
+
+<?% Commands.$cmdname.description %?>
+
+<?% END %?>
+
+=back
+
+=head1 REQUIREMENTS
+
+=over 4
+
+<?% FOREACH reqmod = Prereq.keys.sort %?>
+
+=item * <?% reqmod %?>
+
+<?% Prereq.$reqmod %?>
+
+<?% END %?>
+
+=back
+
+=head1 SEE ALSO
+
+XXV
+
+=head1 AUTHOR
+
+Copyright (C) <?% Date %?>, <?% Author %?>. All rights reserved.
+
+=cut
diff --git a/doc/xxvd.1 b/doc/xxvd.1
new file mode 100644
index 0000000..79176c6
--- /dev/null
+++ b/doc/xxvd.1
@@ -0,0 +1,94 @@
+.TH xxvd 1 "July 14, 2007"
+.SH NAME
+XXV \- (Xtreme eXtension for VDR) provides a central service to administer VDR
+.SH SYNOPSIS
+\fBxxvd\fR [\fB\-\-configfile=\fR \fBFILE\fR] [\fB\-\-logfile=\fR \fBFILE\fR] [\fB\-\-pidfile=\fR \fBFILE\fR] [\fB\-\-localedir=\fR \fBDIR\fR] [\fB\-\-moduledir=\fR \fBDIR\fR] [\fB\-\-docudir=\fR \fBDIR\fR] [\fB\-\-poddir=\fR \fBDIR\fR] [\fB\-\-htmldir=\fR \fBDIR\fR] [\fB\-\-fontdir=\fR \fBDIR\fR] [\fB\-\-vtxdir=\fR \fBDIR\fR] [\fB\-\-newsmods=\fR \fBDIR\fR] [\fB\-\-newstmpl=\fR \fBDIR\fR] [\fB\-\-kill\fR] [\fB\-\-verbose=\fR \fBLEVEL\fR] [\fB\-\-version\fR] [\fB\-\-nofork\fR]
+.SH DESCRIPTION
+\fBxxvd\fR is daemon behind XXV.
+XXV provides a central service to administer VDR, it's contain
+a http daemon, a telnet server and a WAP server among other services.
+And is extendable by plugins and skins. XXV allows to manage
+timers, auto timers, channels, recordings and much more provided by VDR
+.SH OPTIONS
+.TP
+\-\-configfile=\fIFILE\fR
+Use \fBFILE\fR as config file for XXV.
+The config file is modified by XXV, so it shall not be read\-only.
+.TP
+\-\-logfile=\fIFILE\fR.
+Output all log messages to \fBFILE\fR.
+.TP
+\-\-pidfile=\fIFILE\fR
+Write process id of \fBxxvd\fR daemon to \fBFILE\fR.
+.TP
+\-\-localedir=\fIDIR\fR
+Search for locales in \fBDIR\fR.
+\fBDIR\fR should contain the typical locales structure
+with XXV's translations. (eg. de/LC_MESSAGES/xxv.mo)
+.TP
+\-\-moduledir=\fIDIR\fR
+Search for modules (plugins) in \fBDIR\fR.
+.TP
+\-\-docudir=\fIDIR\fR
+Directory \fBDIR\fR with template files used for generate documentation.
+.TP
+\-\-poddir=\fIDIR\fR
+Generate the selfdocumentation files in \fBDIR\fR.
+Documentation files are generated by XXV, so it shall be writable.
+.TP
+\-\-htmldir=\fIDIR\fR
+XXV searchs for it's html templates in \fBDIR\fR.
+Each subdirectory in \fBDIR\fR is seen as a set of
+templates (Skin).
+.TP
+\-\-fontdir=\fIDIR\fR
+XXV searchs usable fonts in \fBDIR\fR.
+.TP
+\-\-vtxdir=\fIDIR\fR
+XXV module VTX use font images from \fBDIR\fR.
+.TP
+\-\-contrib=\fIDIR\fR
+XXV use some external scripts in \fBDIR\fR.
+.TP
+\-\-newsmods=\fIDIR\fR
+\fBxxvd\fR search for news modules (news plugins) in \fBDIR\fR.
+.TP
+\-\-newstmpl=\fIDIR\fR
+XXV searches for news templates in \fBDIR\fR.
+.TP
+\-\-kill
+Kill daemon \fBxxvd\fR.
+.TP
+\-\-verbose=\fILEVEL\fR
+Select the verbose \fILEVEL\fR of the logged
+messages of XXV.
+.RS
+.TP 0.2i
+\(bu
+0 \- Don't log messages
+.TP 0.2i
+\(bu
+1 \- Errors only
+.TP 0.2i
+\(bu
+2 \- Messages depends user action
+.TP 0.2i
+\(bu
+3 \- More events
+.TP 0.2i
+\(bu
+5 \- Lots of messages
+.TP 0.2i
+\(bu
+>5 \- Messages with dump of caller stack
+.RE
+.TP
+\-\-version
+Display the version number and exit.
+.TP
+\-\-nofork
+Debug mode: don't fork to the background.
+.SH AUTHOR
+This manual page was written by Tobias Grimm<tg@e\-tobi.net>.
+.PP
+(July 14, 2007)
diff --git a/doc/xxvd.sgml b/doc/xxvd.sgml
new file mode 100644
index 0000000..3cdaa87
--- /dev/null
+++ b/doc/xxvd.sgml
@@ -0,0 +1,213 @@
+<?xml version="1.0"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
+ [
+ <!ENTITY dhfirstname "<firstname>Tobias</firstname>">
+ <!ENTITY dhsurname "<surname>Grimm</surname>">
+ <!ENTITY date "July 14, 2007">
+ <!ENTITY dhdate "<date>&date;</date>">
+ <!ENTITY dhsection "<manvolnum>1</manvolnum>">
+ <!ENTITY dhemail "<email>tg@e-tobi.net</email>">
+ <!ENTITY dhusername "Tobias Grimm">
+ <!ENTITY dhucpackage "<refentrytitle>xxvd</refentrytitle>">
+ <!ENTITY dhpackage "XXV">
+
+ <!ENTITY debian "<productname>Debian</productname>">
+ <!ENTITY gnu "<acronym>GNU</acronym>">
+ <!ENTITY gpl "&gnu; <acronym>GPL</acronym>">
+ ]
+>
+
+<refentry>
+ <refentryinfo>
+ <address>&dhemail;</address>
+ <author>&dhfirstname; &dhsurname;</author>
+ <copyright>
+ <year>2005 - 2007</year>
+ <holder>&dhusername;</holder>
+ </copyright>
+ &dhdate;
+ </refentryinfo>
+ <refmeta>&dhucpackage; &dhsection;</refmeta>
+ <refnamediv>
+ <refname>&dhpackage;</refname>
+ <refpurpose>(Xtreme eXtension for VDR) provides a central service to administer VDR</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>xxvd</command>
+ <arg><option>--configfile=</option><replaceable>FILE</replaceable></arg>
+ <arg><option>--logfile=</option><replaceable>FILE</replaceable></arg>
+ <arg><option>--pidfile=</option><replaceable>FILE</replaceable></arg>
+ <arg><option>--localedir=</option><replaceable>DIR</replaceable></arg>
+ <arg><option>--moduledir=</option><replaceable>DIR</replaceable></arg>
+ <arg><option>--docudir=</option><replaceable>DIR</replaceable></arg>
+ <arg><option>--poddir=</option><replaceable>DIR</replaceable></arg>
+ <arg><option>--htmldir=</option><replaceable>DIR</replaceable></arg>
+ <arg><option>--fontdir=</option><replaceable>DIR</replaceable></arg>
+ <arg><option>--vtxdir=</option><replaceable>DIR</replaceable></arg>
+ <arg><option>--newsmods=</option><replaceable>DIR</replaceable></arg>
+ <arg><option>--newstmpl=</option><replaceable>DIR</replaceable></arg>
+ <arg><option>--kill</option></arg>
+ <arg><option>--verbose=</option><replaceable>LEVEL</replaceable></arg>
+ <arg><option>--version</option></arg>
+ <arg><option>--nofork</option></arg>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+ <refsect1>
+ <title>DESCRIPTION</title>
+
+ <para><command>&dhucpackage;</command> is daemon behind &dhpackage;.
+ &dhpackage; provides a central service to administer VDR, it's contain
+ a http daemon, a telnet server and a WAP server among other services.
+ And is extendable by plugins and skins. &dhpackage; allows to manage
+ timers, auto timers, channels, recordings and much more provided by VDR</para>
+ </refsect1>
+ <refsect1>
+ <title>OPTIONS</title>
+ <variablelist>
+ <varlistentry>
+ <term>--configfile=<replaceable class="parameter">FILE</replaceable></term>
+ <listitem>
+ <para>Use <filename>FILE</filename> as config file for &dhpackage;.
+ The config file is modified by &dhpackage;, so it shall not be read-only.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--logfile=<replaceable class="parameter">FILE</replaceable>.</term>
+ <listitem>
+ <para>Output all log messages to <filename>FILE</filename>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--pidfile=<replaceable class="parameter">FILE</replaceable></term>
+ <listitem>
+ <para>Write process id of &dhucpackage; daemon to <filename>FILE</filename>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--localedir=<replaceable class="parameter">DIR</replaceable></term>
+ <listitem>
+ <para>Search for locales in <filename>DIR</filename>.
+ <filename>DIR</filename> should contain the typical locales structure
+ with &dhpackage;'s translations. (eg. de/LC_MESSAGES/xxv.mo)</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--moduledir=<replaceable class="parameter">DIR</replaceable></term>
+ <listitem>
+ <para>Search for modules (plugins) in <filename>DIR</filename>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--docudir=<replaceable class="parameter">DIR</replaceable></term>
+ <listitem>
+ <para>Directory <filename>DIR</filename> with template files used for generate documentation.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--poddir=<replaceable class="parameter">DIR</replaceable></term>
+ <listitem>
+ <para>Generate the selfdocumentation files in <filename>DIR</filename>.
+ Documentation files are generated by &dhpackage;, so it shall be writable.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--htmldir=<replaceable class="parameter">DIR</replaceable></term>
+ <listitem>
+ <para>&dhpackage; searchs for it's html templates in <filename>DIR</filename>.
+ Each subdirectory in <filename>DIR</filename> is seen as a set of
+ templates (Skin).</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--fontdir=<replaceable class="parameter">DIR</replaceable></term>
+ <listitem>
+ <para>&dhpackage; searchs usable fonts in <filename>DIR</filename>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--vtxdir=<replaceable class="parameter">DIR</replaceable></term>
+ <listitem>
+ <para>&dhpackage; module VTX use font images from <filename>DIR</filename>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--contrib=<replaceable class="parameter">DIR</replaceable></term>
+ <listitem>
+ <para>&dhpackage; use some external scripts in <filename>DIR</filename>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--newsmods=<replaceable class="parameter">DIR</replaceable></term>
+ <listitem>
+ <para>&dhucpackage; search for news modules (news plugins) in <filename>DIR</filename>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--newstmpl=<replaceable class="parameter">DIR</replaceable></term>
+ <listitem>
+ <para>&dhpackage; searches for news templates in <filename>DIR</filename>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--kill</term>
+ <listitem>
+ <para>Kill daemon &dhucpackage;.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--verbose=<replaceable class="parameter">LEVEL</replaceable></term>
+ <listitem>
+ <para>Select the verbose <emphasis>LEVEL</emphasis> of the logged
+ messages of &dhpackage;.
+ </para>
+ <itemizedlist>
+ <listitem><para> 0 - Don't log messages</para></listitem>
+ <listitem><para> 1 - Errors only</para></listitem>
+ <listitem><para> 2 - Messages depends user action</para></listitem>
+ <listitem><para> 3 - More events</para></listitem>
+ <listitem><para> 5 - Lots of messages</para></listitem>
+ <listitem><para>&gt;5 - Messages with dump of caller stack</para></listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--version</term>
+ <listitem>
+ <para>Display the version number and exit.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--nofork</term>
+ <listitem>
+ <para>Debug mode: don't fork to the background.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+ <refsect1>
+ <title>AUTHOR</title>
+ <para>This manual page was written by &dhusername;&lt;&dhemail;&gt;.</para>
+ <para>(&date;)</para>
+ </refsect1>
+</refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:2
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:nil
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+-->
+
+