TvBrowser-2.6.3-MOD: FastSearchDisk + SingleFileDB + Layout

Neue Plugins usw. Also alles was kein Problem/Verbesserungsvorschlag ist ;).
ab
Senior Member
Beiträge: 105
Registriert: 21 Sep 2006, 23:09

TvBrowser-2.6.3-MOD: FastSearchDisk + SingleFileDB + Layout

Beitrag von ab »

Download [17.7.08]:
http://www.datafilehost.com/download-7f143611.html tvbrowser.jar (immer noch 2.6.3)

Download [7.3.08]:
http://www.datafilehost.com/download-366a43c7.html tvbrowser.jar (für 2.6.3)
http://www.datafilehost.com/download-905fe2b2.html Sourcen (basierend auf 2.6.3)
http://www.datafilehost.com/download-20a97700.html untar1.jar (für uninstallation)

*******

Hier nochmal eine modifizerte TvBrowser Version von mir...

Folgende Verbesserungen:

1) eine deutlich schnellere Suche; ein "Index" (ca 20 Mb) wird auf der Festplatte erstellt.
Vorteil - im gegensatz zu meiner früheren "schnellen Suche": praktisch kein zusätzlicher Speicher ist nötig.
* "Suche in allen Feldern", "Boolsche Suche" schneller!! => 0.6 .. 2.5 Sekunden im Mittel!!
Insbesondere liefert die Suche die gleichen Ergebnisse wie die Original-Suche.

2) Alle Daten werden in einer einzigen Datei gespeichert:
- so werden nicht mehr 1000-2000 einzelne Dateien benötigt

Somit ergibt sich eine schnellere Startzeit (insbes. bei vielen TvDaten/vielen Markierungen), etc ...

3) Ein neues Layout der ProgrammTabelle: "Echt kompakt 2"
Sehr kompakt; die Ausrichtung geschieht an der aktuellen Uhrzeit, siehe das Bild weiter unten ..

Die Ausrichtung geschieht wie folgt:
* für heute: Ausrichtung an der aktuellen Uhrzeit (horizontale Linie)
* andere Tage: Ausrichtung an 20 Uhr 15

(restliche Sendungen einfach oben/unten angefügt - maximal kompakt)

Das Layout gefällt mir persönlich am besten (von den verfügbaren Layouts)...



Referenzen:
zu 2) [JIRA-LINK: http://tvbrowser.org:8080/jira/browse/TVB-22]
zu 3) [JIRA-LINK: http://tvbrowser.org:8080/jira/browse/TVB-2]
http://hilfe.tvbrowser.org/viewtopic.ph ... ght=#49872

Installation:
1) 2.6.3 normal installieren (evtl. 1x einige Daten herunterladen)
2) tvbrowser.jar ersetzten
Zuletzt geändert von ab am 18 Jul 2008, 02:54, insgesamt 13-mal geändert.

ab
Senior Member
Beiträge: 105
Registriert: 21 Sep 2006, 23:09

Beitrag von ab »

Das neue Layout sieht so aus:

Bild

Ausrichtung ist an aktueller Uhrzeit, die restlichen Sendungen kommen so kompakt wie möglich darunter/darüber.

Uninstallation:
Dazu gibt es jetzt ein kleines "untar"-Utility, das tvdata/TVDATA_ALL.dat wieder entpackt (und wieder die 1000 Dateien erstellt):

[siehe 1. Message]
Zuletzt geändert von ab am 18 Jul 2008, 02:53, insgesamt 2-mal geändert.

ab
Senior Member
Beiträge: 105
Registriert: 21 Sep 2006, 23:09

Beitrag von ab »

---

Tester

Läuft nicht direkt nach Setup

Beitrag von Tester »

Hallo ab,

ich weiß nicht ob an dieser Stelle Fehler gemeldet werden sollen, aber ich habe hier den TV-Browser 2.6.3 gerade erstmalig installiert und direkt die tvbrowser.jar gegen deine ausgetauscht.

Jetzt ist es mir aber nicht möglich, den TV-Browser erstmalig zu starten. Rufe ich die Datei über die Konsole auf, sehe ich folgendes:

Code: Alles auswählen

C:\Program Files\TV-Browser>java -jar tvbrowser.jar
command line options:
    -minimized    The main window will be minimized after start up
    -nosplash     No splash screen during start up
    -fullscreen   Start in fullscreen-mode

15:19:44 INFO: Try to load settings from a previous version of TV-Browser
15:19:44 INFO: No previous version of TV-Browser found - using default user settings
15:19:44 INFO: Creating C:\Users\Tester\.tvbrowser\2.6.3
15:19:44 INFO: Using timezone Zentraleuropõische Zeit
15:19:44 WARNUNG: Open DB failed: EXCEPTION
15:19:44 WARNUNG: C:\Users\Tester\.tvbrowser\tvdata\TVDATA_ALL.dat (Das System kann den angegebenen Pfad nicht finden)

Tester

Beitrag von Tester »

Ich habe ein weiteres Problem:
Um mit dem TV-Browser überhaupt arbeiten zu können (Problem siehe oben) hatte ich die original Datei ausgeführt und hier auch kurz die Grundeinstellungen vorgenommen.

Die ersten Daten habe ich allerdings via dieser SingleDB-Jar-Datei geladen.

Leider scheint es mir hier nicht mehr möglich, Lieblingssendungen zu definieren. Er meint immer, er fände keine passenden Sendungen.

Gleiche Filter mit dem original TV-Browser arbeiten jedoch 1a...

ab
Senior Member
Beiträge: 105
Registriert: 21 Sep 2006, 23:09

Beitrag von ab »

Code: Alles auswählen

C:\Users\Tester\.tvbrowser\tvdata\TVDATA_ALL.dat (Das System kann den angegebenen Pfad nicht finden) 
aha, da könnte es sein dass das Verzeichnis noch nicht existiert (hat)...

Code: Alles auswählen

Leider scheint es mir hier nicht mehr möglich, Lieblingssendungen zu definieren. Er meint immer, er fände keine passenden Sendungen. 
hmm, gerade das sollte gut funktionieren ...

Also:
1) kannst Du mal nachschauen, ob die datei TVDATA_ALL.dat im o.g. Verzeichnis existiert (wird sie wohl, wenn du Daten heruntergeladen hast ..)
2) beende TvBrowser und lösche die 2 Dateien: SEARCH_IDX_01......dat, starte ihn neu und suche für eine Lieblingssendung (für die du weißt, dass es ergebnisse geben müßte) neu.
3) Frage: verwendest du den "Expertenmodus" in den Lieblingssendungen (ich verwende diesen ausschließlich)? Wenn es damit auch nicht geht, schau ich's mir selber nochmal an.

Tester

Beitrag von Tester »

ab hat geschrieben:

Code: Alles auswählen

C:\Users\Tester\.tvbrowser\tvdata\TVDATA_ALL.dat (Das System kann den angegebenen Pfad nicht finden) 
aha, da könnte es sein dass das Verzeichnis noch nicht existiert (hat)...
Richtig - zum Zeitpunkt des erstmaligen Starts gab es das Verzeichnis noch nicht.
Leider scheint es mir hier nicht mehr möglich, Lieblingssendungen zu definieren. Er meint immer, er fände keine passenden Sendungen.
hmm, gerade das sollte gut funktionieren ...

Also:
1) kannst Du mal nachschauen, ob die datei TVDATA_ALL.dat im o.g. Verzeichnis existiert (wird sie wohl, wenn du Daten heruntergeladen hast ..)
Nachdem ich es mit dem original TV-Browser leicht vorkonfiguriert hatte und dann erstmalig Daten (allerdings mit deiner modifizierten Version) geladen hatte, wurde die Datei erzeugt.
2) beende TvBrowser und lösche die 2 Dateien: SEARCH_IDX_01......dat, starte ihn neu und suche für eine Lieblingssendung (für die du weißt, dass es ergebnisse geben müßte) neu.
Die zwei Dateien waren je 7kb und 0kb groß. Nachdem ich sie gelöscht hatte, wurden sie beim nächsten Start von TV-Browser neu erzeugt. Jetzt klaptt das auch mit der Markierung.
3) Frage: verwendest du den "Expertenmodus" in den Lieblingssendungen (ich verwende diesen ausschließlich)? Wenn es damit auch nicht geht, schau ich's mir selber nochmal an.
Ja, den verwende ich auch.

Fazit:
Offenbar läuft bei der Initialisierung noch etwas schief. Sprich die Modifizierung ist eher darauf optimiert, einen bestehenden TV-Browser zu übernehmen... (so hatte ich die Modifikation nämlich schon mehrere Tage fehlerfrei im Einsatz).

ab
Senior Member
Beiträge: 105
Registriert: 21 Sep 2006, 23:09

Beitrag von ab »

ok, dann is ja alles klar.

Falls es in Zukunft noch häufiger passiert (und es sich nur durch löschen von SEARCH_IDX_01......dat lösen läßt), kannst du das ja nochmal schreiben, ich schaue mir es dann nochmal an.

Code: Alles auswählen

... eher darauf optimiert, einen bestehenden TV-Browser zu übernehmen
richtig, das ist die Variante, die ich selber teste :)
Zuletzt geändert von ab am 24 Mär 2008, 23:31, insgesamt 1-mal geändert.

Tester

Beitrag von Tester »

Noch eine Anmerkung:

Ich habe nun die komplette Konfiguration gelöscht (also alles von TV-Browser in meinem Profilverzeichnis) und habe den TV-Browser mit der original Datei vollständig konfiguriert.

Das war nötig, da ich mit dem Mod diverse Probleme hatte (bspw. erschien das Fenster nicht mehr, wenn es über die tvbrowser.exe aufgerufen wurde).

Nachdem ich alles so eingestellt hatte wie ich es möchte und auch Daten geholt hatte, habe ich die JAR-Datei ersetzt. Der Mod hat die Daten übernommen, wie gewohnt die Datei und Index erstellt - nun klappt alles.


Neues Fazit also:
TV-Browser erst mit der original Datei vollständig einrichten. Läuft alles, umstellen. Die Performance ist wirklich genial (an der Stelle mal ein großes Danke!).

NASCARaddicted
Full Member
Beiträge: 89
Registriert: 30 Aug 2007, 02:03

Beitrag von NASCARaddicted »

ein schnellerer TVB wäre auf jeden Fall interessant. Ich hab den verlinkten Thread schon gelesen, und da werden ja auch RAM Zahlen erwähnt. Es mag heutzutage Standard sein, Rechner mit 1-2 GB RAM zu haben, aber meiner ist so um die 4 Jahre alt (oder noch mehr, bin mir nicht mehr sicher) und ich hab nur 512 MB. Ob aufrüsten noch Sinn macht weiß ich gerade nicht, aber einen neuen will ich mir nicht kaufen (ist auch finanziell eng), solange der hier noch läuft, von daher bin ich froh über alles was Platz spart.

Was mir beim installieren aufgefallen ist: Man sollte beim Menüpunkt "Hilfe>über" noch reinschreiben, daß es ein MOD ist. Sonst postet irgendjemand vielleicht ein Problem und denkt nicht mehr dran, daß er mal vor ewigen Zeiten diesen MOD installiert hat. (klingt vielleicht seltsam, aber ich habe in Sachen "Unfähigkeit von Computer Usern" schon einiges gesehen)

Kowolf
Platin Member
Beiträge: 572
Registriert: 29 Mai 2006, 04:36

Beitrag von Kowolf »

NASCARaddicted hat geschrieben:ich hab nur 512 MB. Ob aufrüsten noch Sinn macht weiß ich gerade nicht
512MB DDR RAM kosten derzeit ab ca 14 Euro.
NASCARaddicted hat geschrieben:Man sollte beim Menüpunkt "Hilfe>über" noch reinschreiben, daß es ein MOD ist. Sonst postet irgendjemand vielleicht ein Problem und denkt nicht mehr dran, daß er mal vor ewigen Zeiten diesen MOD installiert hat.
Gute Idee. Wie wäre es, wenn dieses MOD auch in der Titelleiste und eventuell vielleicht sogar beim Splashscreen vom Programmstart auftaucht?

Oder dieser TVB wird automatisch in eine Verzeichnis installiert, das zusätzlich mit MOD bezeichnet ist.

Vielleicht sollte es sogar eine offizielle Empfehlung diesbezüglich vom TVB-Team geben?

Zipola
Junior Member
Beiträge: 11
Registriert: 04 Aug 2007, 21:19

Beitrag von Zipola »

Hi,

kann mir bitte jemand sagen, wie man diese DIFF-Datei unter Windows anwendet?
Ich habs jetzt mit Eclipse versucht "Team > Apply Patch", aber da wird in der Vorschau nur die erste Datei Channel.java angezeigt und ansonsten sieht das auch fehlerhaft aus was Eclipse da zeigt...

Dann hab ich es noch mit dem hier versucht:
http://gnuwin32.sourceforge.net/packages/patch.htm
aber wenn ich es starte
patch.exe -p0 -u -b diff_all3.diff
patch.exe -p0 -b diff_all3.diff
(diff_all3.diff ist im "tvbrowser-2.6.3" Verzeichnis)
dann passiert erst mal gar nichts - wenn ich eine Taste drücke wird das Zeichen angezeigt und ENTER geht in die nächste Zeile - nur STRG+C beendet das Programm wieder - alles ohne Fehlermeldung.
Ich hab auch das bin-verzeichnis von patch.exe in den PATH eingefügt - bringt auch nichts...

Die DIFF-Datei sieht in etwa so aus:

Code: Alles auswählen

--- src\devplugin\Channel.java
+++ src\devplugin\Channel.java
@@ -28,6 +28,7 @@

 import java.awt.Image;
 import java.io.DataInput;
+import java.io.DataOutput;
 import java.io.IOException;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
@@ -301,6 +302,22 @@
   }

   /**
+   * Serialize this object.
+   *
+   * @param out The file to write the Data in.
+   * @throws IOException
+   *
+   * @since 2.7
+   */
+  public void writeToDataFile(DataOutput out) throws IOException {
+    out.writeInt(5); // version
+    out.writeUTF(mId);
+  }
+
+  /**
    * Serialized this object.
    * @throws IOException
    */
--- src\devplugin\Date.java
+++ src\devplugin\Date.java
@@ -32,6 +32,7 @@
 package devplugin;

 import java.io.DataInput;
+import java.io.DataOutput;
 import java.io.IOException;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
@@ -262,6 +264,21 @@
   }

   /**
.......

ab
Senior Member
Beiträge: 105
Registriert: 21 Sep 2006, 23:09

Beitrag von ab »

Ja genau, mit patch.exe.
Am besten folgendes in eine Batchdatei:

Code: Alles auswählen

@echo off
patch -l -u -p 1 --dry-run < %1
echo **** any key to apply ****
pause
patch -l -u -p 1           < %1

(dann ist aber vorher ein "cd src" nötig, wegen dem -p 1)

der Fehler bei Dir war wohl:
 -i PATCHFILE  --input=PATCHFILE  Read patch from PATCHFILE instead of stdin.
update:
hatte ich vergessen:
-l or --ignore-white-space
=> damit spart man sich die Konvertierung in linux format etc, vor dem Anwenden der patches
Zuletzt geändert von ab am 23 Apr 2008, 20:17, insgesamt 2-mal geändert.

Zipola
Junior Member
Beiträge: 11
Registriert: 04 Aug 2007, 21:19

Beitrag von Zipola »

Ah! Jetzt funktioniert es. Vielen Dank.
Musste noch die DIFF-Datei ins Windows-Format umwandeln.

Angewendet habe ich den Patch auf eine frisch entpackte tvbrowser-2.6.3-src.zip
mit dem Ergebnis, dass 9 Hunks fehlschlagen.
Das erhöhen des Fuzz-Faktors auf 6 brachte auch keine Besserung.

Muss ich den Sourcecode aus dem SVN runterladen? Welchen?

Code: Alles auswählen

F:\Daten\Proggen\Ant\tvbrowser-2.6.3>patch -p 0 -F 3 --dry-run < diff_all3.diff
patching file src/devplugin/Channel.java
Hunk #2 succeeded at 302 with fuzz 2.
patching file src/devplugin/Date.java
Hunk #2 succeeded at 264 with fuzz 2.
patching file src/tvbrowser/TVBrowser.java
Hunk #2 succeeded at 322 with fuzz 1.
patching file src/tvbrowser/core/Settings.java
patching file src/tvbrowser/core/TvDataBase.java
Hunk #4 FAILED at 249.
Hunk #5 FAILED at 273.
Hunk #6 FAILED at 294.
Hunk #9 succeeded at 430 with fuzz 3.
Hunk #10 succeeded at 460 with fuzz 3.
Hunk #11 succeeded at 472 with fuzz 3.
Hunk #12 FAILED at 484.
Hunk #13 succeeded at 501 with fuzz 2.
Hunk #14 succeeded at 518 with fuzz 2.
Hunk #15 FAILED at 526.
Hunk #16 FAILED at 551.
Hunk #17 FAILED at 563.
7 out of 20 hunks FAILED -- saving rejects to file src/tvbrowser/core/TvDataBase.java.rej
patching file src/tvbrowser/core/TvDataBaseSingleFile.java
patching file src/tvbrowser/core/data/OnDemandDayProgramFile.java
Hunk #3 succeeded at 73 with fuzz 1.
Hunk #4 succeeded at 107 with fuzz 1.
patching file src/tvbrowser/core/plugin/PluginManagerImpl.java
patching file src/tvbrowser/core/search/AbstractSearcher.java
Hunk #2 succeeded at 62 with fuzz 1.
Hunk #3 succeeded at 219 with fuzz 1 (offset 85 lines).
Hunk #4 succeeded at 261 with fuzz 3 (offset 94 lines).
Hunk #5 succeeded at 276 with fuzz 3 (offset 93 lines).
patching file src/tvbrowser/core/search/ByteArrayString.java
patching file src/tvbrowser/core/search/FastSearchDisk.java
patching file src/tvbrowser/core/search/FastSearchMem.java
patching file src/tvbrowser/core/search/booleansearch/And.java
patching file src/tvbrowser/core/search/booleansearch/Block.java
patching file src/tvbrowser/core/search/booleansearch/BooleanSearcher.java
Hunk #3 succeeded at 97 with fuzz 1.
patching file src/tvbrowser/core/search/booleansearch/Matcher.java
Hunk #1 succeeded at 27 with fuzz 1.
patching file src/tvbrowser/core/search/booleansearch/MatcherEx.java
Hunk #1 succeeded at 29 with fuzz 1.
patching file src/tvbrowser/core/search/booleansearch/MatcherReuse.java
patching file src/tvbrowser/core/search/booleansearch/MultiAnd.java
patching file src/tvbrowser/core/search/booleansearch/MultiOr.java
patching file src/tvbrowser/core/search/booleansearch/Not.java
patching file src/tvbrowser/core/search/booleansearch/Or.java
patching file src/tvbrowser/core/search/regexsearch/RegexSearcher.java
Hunk #2 succeeded at 80 with fuzz 2.
patching file src/tvbrowser/extras/favoritesplugin/FavoritesPlugin.java
Hunk #2 succeeded at 363 with fuzz 2.
Hunk #3 succeeded at 388 with fuzz 1.
patching file src/tvbrowser/extras/favoritesplugin/core/AdvancedFavorite.java
patching file src/tvbrowser/extras/favoritesplugin/core/Favorite.java
Hunk #1 succeeded at 333 (offset 6 lines).
Hunk #2 succeeded at 342 (offset 6 lines).
Hunk #3 succeeded at 353 with fuzz 2 (offset 6 lines).
patching file src/tvbrowser/ui/mainframe/MainFrame.java
patching file src/tvbrowser/ui/programtable/ProgramTable.java
patching file src/tvbrowser/ui/programtable/RealCompactLayout.java
Hunk #1 FAILED at 26.
Hunk #2 FAILED at 124.
2 out of 2 hunks FAILED -- saving rejects to file src/tvbrowser/ui/programtable/RealCompactLayout.java.rej
patching file src/tvbrowser/ui/settings/ProgramTableSettingsTab.java
Hunk #1 succeeded at 131 with fuzz 3.
patching file src/tvbrowser/ui/settings/settings.properties
patching file src/tvbrowser/ui/settings/settings_de.properties
patching file src/util/ui/SearchForm.java
patching file src/util/ui/SearchFormSettings.java

ab
Senior Member
Beiträge: 105
Registriert: 21 Sep 2006, 23:09

Beitrag von ab »

ne, tvbrowser-2.6.3-src.zip ist schon die richtige;
es bleibt dir jetzt nichts anderes übrig als noch die .rej einzeln anzuschauen
und die Änderungen manuell noch einzufügen (oft stimmen nur ein paar
Leerzeichen nicht, deswegen hakt es).

Ach ja:
Musste noch die DIFF-Datei ins Windows-Format umwandeln.
Besser alles in Linux format umwandeln (Sourcen und Diff), aber da bräuchtest Du dann das cygwin-"patch".
(oder probiere alles ins Windows Format zu wandeln und gnu32-patch zu verwenden, was ich aber nie probiert habe)

als Ergebnis müßtest du dann das erhalten (lief ohne Fehler, wenn man cygwin patch verwendet und vorherige umwandlung in linux format):

[siehe 1. Message]
Zuletzt geändert von ab am 18 Jul 2008, 01:56, insgesamt 1-mal geändert.

Antworten