diff options
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/CHANGELOG.txt | 1415 | ||||
| -rw-r--r-- | doc/COPYING.txt | 504 | ||||
| -rw-r--r-- | doc/LIESMICH.txt | 65 | ||||
| -rw-r--r-- | doc/Makefile | 71 | ||||
| -rw-r--r-- | doc/NEWS.txt | 871 | ||||
| -rw-r--r-- | doc/README.txt | 65 | ||||
| -rw-r--r-- | doc/TODO.txt | 13 | ||||
| -rw-r--r-- | doc/TUTORIAL.txt.gz | bin | 0 -> 6344 bytes | |||
| -rw-r--r-- | doc/docu.tmpl | 99 | ||||
| -rw-r--r-- | doc/xxvd.1 | 94 | ||||
| -rw-r--r-- | doc/xxvd.sgml | 213 |
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 Binary files differnew file mode 100644 index 0000000..36e8f9c --- /dev/null +++ b/doc/TUTORIAL.txt.gz 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>>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;<&dhemail;>.</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: +--> + + |
