Jump to content
Sign in to follow this  
richy1956

Fehler bei Programmierung des Videorekorder-Timers über TVgenial

Recommended Posts

richy1956

Mit dem DVBViewer Version 2.9 und dvbv_tvg.exe Version 1.1 hat die Programmierung des Videorekorder-Timers über TVgenial perfekt funktioniert

 

Mit dem DVBViewer Version 3.02 und dvbv_tvg.exe Version 1.1 stürzt mitunter TVgenial während der Programmierung ab.

 

Mit dem DVBViewer Version 3.02 und dvbv_tvg.exe Version 1.2 funktioniert die Programmierung des Videorekorder-Timers über TVgenial perfekt sofern der DVBViewer während der Programmierung geschlossen ist.

Ist der DVBViewer während der Programmierung geöffnet wird bei mir der erste Auftrag korrekt programmiert. Der zweite Auftrag wird jedoch nicht mehr angenommen.

 

Sämtliche Einstellungen des DVB Viewers 3.02 sind meiner Meinung nach identisch mit meinen Einstellungen in Version 2.9.

Share this post


Link to post
Griga

Geht es hier um den DVBViewer GE?

Share this post


Link to post
richy1956

Entschuldigung, ja es geht um den DVBViewer GE und die Programmierung des Videorekorder-Timers über TVgenial mit Hilfe des Zusatzprogramms dvbv_tvg.exe.

Share this post


Link to post
Griga

Ich kenne mich mit der TVgenial-Geschichte nicht so gut aus, nehme aber an, dass programmierte Aufnahmen in die Datei Setup.ini hineingepatcht werden.

 

Wie sieht das aus, wenn es funktioniert? Erscheinen dann extern programmierte Aufnahmen sofort im Rekorderprogrammierung-Fenster des laufenden DVBViewer GE? Und wenn es nicht funktioniert, erscheinen sie dort nicht? Vielleicht kannst du mal selbst in der Setup.ini nachschauen, was dort in der Sektion [VCR] steht, ankommt oder nicht ankommt.

 

Ich kann den Code der GE-Versionen vergleichen, um zu ermitteln, welche Änderung dabei eventuell eine Rolle spielt, brauche aber zuvor noch eine genauere Beschreibung des Ablaufs bzw. Problems.

Share this post


Link to post
richy1956

Wenn es funktioniert erscheinen die extern programmierte Aufnahmen sofort im Rekorderprogrammierung-Fenster des laufenden DVBViewer GE 2.9.

Außerdem werden die programmierten Aufnahmen in die Datei Setup.ini hineingepatcht.

Für mich sieht es so aus, als ob das gleichzeitig passiert.

 

Im Fehlerfall mit dem DVBViewer GE 3.02 erscheinen die extern programmierte Aufnahmen nicht im Rekorderprogrammierung-Fenster des laufenden DVBViewer GE. In der Setup.ini stehen alle Aufnahmen aber in der Sektion [VCR] drin.

Share this post


Link to post
richy1956

Nochmal als Ergänzung:

Im Fehlerfall mit dem DVBViewer GE 3.02 erscheint die erste extern programmierte Aufnahmen im Rekorderprogrammierung-Fenster des laufenden DVBViewer GE. Alle weiteren jedoch nicht.

In der Setup.ini stehen alle Aufnahmen in der Sektion [VCR] aber drin.

 

Die Programmierung des DVBViewer Videorekorder-Timers über TVgenial funktioniert perfekt sofern der DVBViewer während der Programmierung geschlossen ist. Öffnet man nach der Programmierung den DVBViewer, stehen alle Einträgen in der Setup.ini sowie im Rekorderprogrammierung-Fenster.

 

Der Programmierfehler tritt also nur bei geöffnetem DVBViewer auf.

 

Ich hoffe, ich habe die Fehlerbeschreibung jetzt genauer hin bekommen.

Schönes neues Jahr!

Share this post


Link to post
Griga

Danke. Ich habe gestern wiederholt die Funktionen überprüft, mit denen die GE von außen veranlasst wird, die Setup.ini neu zu laden, und zwischendurch auch die Liste programmierter Aufnahmen in der Datei geändert. Ging ohne Probleme. Jetzt versuche ich, den TVgenial-Quellcode von Lars zu erhalten. Mal sehen, ob sich dort etwas findet...

Share this post


Link to post
richy1956

Mit der Version 1.2.2 der dvbv_tvg.exe gibt es einen Unterschied zur Version 1.2

 

Im Fehlerfall mit dem DVBViewer GE 3.02 erscheint nun keine extern programmierte Aufnahmen im Rekorderprogrammierung-Fenster des laufenden DVBViewer GE mehr, also auch nicht mehr die Erste.

 

In der Setup.ini stehen weiterhin alle Aufnahmen in der Sektion [VCR] drin.

 

Mit der Version 2.9 des DVBViewer GE und dvbv_tvg.exe Version 1.1 hat alles funktioniert. Von der Logik her würde ich den Fehler eher bei der neuen Version 3.02 des DVBViewer GE vermuten. Irgend etwas muß sich im Bereich der Programmierung des Recorders bei der neuen Version des DVBViewer GE geändert haben.

Share this post


Link to post
Griga

Mit der Version 1.2.0 der dvbv_tvg.exe gab es tatsächlich ein Problem. Ursache war ein neuer Zeitzonen-Eintrag des DVBViewer GE 3.0.2 in der Setup.ini. Er lieferte auch eine Erklärung dafür, dass nur der erste Eintrag bei dir funktionierte.

 

In der Version 1.2.2 der dvbv_tvg.exe hat Lars das Problem behoben, und damit funktioniert es hier einwandfrei, wenn ich das Tool z.B. mit den folgenden Kommandoparametern starte:

 

C:\Programme\DVBViewer\dvbv_tvg.exe -d "Test" -c 1081634150|ZDF -e 06.01.11 -s 03:40:00 -p 04:35:00 -a 0 -t 0

 

d.h. bei jedem Aufruf kommt der entsprechende Eintrag im Rekorderprogrammierung-Fenster des laufenden DVBViewer GE 3.0.2 an.

 

Es sind jedoch Gründe denkbar, aus denen der DVBViewer GE einen Eintrag als ungültig ansieht. Poste bitte Setup.ini-Einträge, die die GE nicht laden will.

Share this post


Link to post
richy1956

Hier sind die Kommandozeilen aus der dvbv_tvg.ini

 

DoRecord "d:\Heimkino\DVBViewer GE\dvbv_tvg.exe" '-d' '"'#'"' '-c' '"'i'"' '-e' dd.mm.yy '-s' hh:nn '-p' rr:ff '-a 3 -t 3 -v 1'

DoDelete "d:\Heimkino\DVBViewer GE\dvbv_tvg.exe" '-d' '"'#'"' '-c' '"'i'"' '-e' dd.mm.yy '-s' hh:nn '-p' rr:ff '-r'

 

Hier ein Eintrag aus der Setup.ini, der vom Timer nicht angenommen wird.

[VCR]

0=Die Legende;2;04.01.2011;14:33:00;16:40:00;3;0;3

Share this post


Link to post
Griga
Hier ein Eintrag aus der Setup.ini, der vom Timer nicht angenommen wird.

[VCR]

0=Die Legende;2;04.01.2011;14:33:00;16:40:00;3;0;3

 

Wenn ich diese Daten auf folgende Weise per Kommandozeile übergebe

 

C:\Programme\DVBViewer\dvbv_tvg.exe -d "Die Legende" -c "2" -e 04.01.11 -s 14:33 -p 16:40 -a 3 -t 3 -v 1

 

nimmt die GE 3.0.2 das jedes Mal an.

 

Damit bleibt der folgende Verdacht: Die GE versucht die Datei zu öffnen, bevor sie Windows geschlossen hat. Dies wäre denkbar, wenn du einen flotten Mehrkern-Prozessor hast (ich nämlich nicht) und deshalb die Vorgänge parallel ablaufen. Ab Version 3.0.0 nutzt die GE standardmäßig alle Prozessorkerne. Wenn du das probeweise verhindern willst, musst du bei geschlossener GE die folgende Zeile in der Sektion [General] der Setup.ini hinzufügen:

 

ProcessMask=1

 

Danach verwendet die GE nur den ersten Prozessorkern, was normalerweise nicht sinnvoll ist. Ändert das etwas?

Share this post


Link to post
richy1956

Mein Prozessor: Intel Core Duo T2600 @ 2.16GHz

Das ist aber auch nur ein inzwischen betagter Mobil-Prozessor, der in meinem Desktop PC läuft.

 

Ich habe folgende Zeile in der Sektion [General] der Setup.ini hinzufügen:

ProcessMask=1

 

Leider keine Änderung.

Share this post


Link to post
Griga

Tja, was nun? Wenn es beim Entwickler nicht reproduzierbar ist, hängt es von deiner Findigkeit ab.

 

Probiere mal, wie es sich mit der obigen Kommandozeile verhält, die bei mir immer funktioniert. Dazu musst du eine Verknüpfung zu dvbv_tvg.exe auf dem Desktop erzeugen, in ihren Eigenschaften in die Zeile "Ziel" das kopieren, was ich oben gepostet habe (deinen Pfad zu dvbv_tvg.exe aber beibehalten). Bei einem Doppelklick auf die Verknüpfung sollte der Eintrag "Die Legende" in der Rekorderprogrammierung erscheinen.

Share this post


Link to post
richy1956

Für meine DVBViewer Pfad hieße das:

D:\Heimkino\DVBViewer GE\dvbv_tvg.exe -d "Die Legende" -c "2" -e 04.01.11 -s 14:33 -p 16:40 -a 3 -t 3 -v 1

So geht es aber nicht.

 

So geht es:

"D:\Heimkino\DVBViewer GE\dvbv_tvg.exe" -d "Die Legende" -c "2" -e 04.01.11 -s 14:33 -p 16:40 -a 3 -t 3 -v 1

Share this post


Link to post
richy1956

Also, ich resümiere mal:

Der Eintrag in der Setup.ini ist immer der Gleiche, egal ob der Befehl per Kommandozeile oder aus TVGenial kommt.

 

[VCR]

0=Die Legende;2;04.01.2011;14:33:00;16:40:00;3;0;3

 

Über die Kommandozeile nimmt der Recorder des geöffneten DVBViewer 3.02 den Auftrag entgegen.

Von TVGenial nimmt der Recorder des geöffneten DVBViewer 3.02 den Auftrag nicht entgegen.

Der DVBViewer ließt den Auftrag, der immer absolut identisch eingetragen ist, offensichtlich aus der Setup.ini aus, oder eben nicht aus.

Der DVBViewer 2.9 tut das aber.

 

Es tut mir leid. Mein Hauptverdächtiger ist und bleibt vorerst die neue Version des

DVBViewer GE.

Share this post


Link to post
Griga
Von TVGenial nimmt der Recorder des geöffneten DVBViewer 3.02 den Auftrag nicht entgegen.

Das von außen veranlasste Laden der geänderten Setup.ini funktioniert, wie du selbst mit der Kommandozeile nachgewiesen hast, und der Mechanismus hat sich seit der 2.9 nicht geändert. Soweit ich weiß, macht TVGenial auch nichts anderes, als dvbv_tvg.exe mit Kommandoparametern zu starten.

 

Wie kann der manuelle Start über eine Verknüpfung und der Start via TVGenial einen Unterschied ausmachen? Der DVBViewer GE erhält erst eine Message, die ihn veranlasst, die Setup.ini zu aktualisieren (also den aktuellen Stand zu speichern) und anschließend eine Message, die besagt, dass er die Setup.ini neu laden soll. Mit der Vorgeschichte hat er nichts zu tun.

 

Fragt sich, ob diese Botschaften überhaupt ankommen. Dazu folgender Test: Programmiere manuell irgendeine Aufnahme. Dann lasse TVGenial eine senden. Überprüfe anschließend ohne die GE zu beenden, was in der Setup.ini steht. Wenn die erste Message angekommen ist, sollte der DVBViewer GE die manuell programmierte Aufnahme gespeichert haben.

 

BTW: Welche Windows-Version hast du?

Share this post


Link to post
richy1956

Ich habe die DVBViewer Ge 2.9 mal mit dvbv_tvg.exe 1.2.2 getestet.

Mit dieser Version der dvbv_tvg.exe erscheint im DVBViewer GE 2.9 auch keine extern programmierte Aufnahmen im Rekorderprogrammierung-Fenster des laufenden DVBViewer GE, also das gleiche Verhalten wie mit DVBViewer GE 3.02.

Der DVBViewer Ge 2.9 funktioniert mit dvbv_tvg.exe 1.1 aber perfekt.

Man braucht sich also nicht zu wundern, daß DVBViewer GE 3.02 mit dvbv_tvg.exe 1.2.2 auch nicht funktioniert.

 

Die Windows Version ist Windows XP Service Pack 3.

 

Der Test mit den aktuellen Komponenten:

1. Manuelle Testaufnahme 4.1.2011 von 12:00-12:05

2. TVGenial Die Legende

 

In der Setup.ini steht:

0=Die Legende;2;04.01.2011;14:33:00;16:40:00;3;0;3

Im Timer Fenster steht nichts.

 

Das ist meiner Meinung nach auch korrekt, weil der DVBViewer die manuelle Testaufnahme erst nach dem Beenden speichern sollte.

 

Ich beende den DVBViewer

------------------------

In der Setup.ini steht nun:

[VCR]

0=Manuelle Testaufnahme;3713219002571030542|Das Erste;04.01.2011;12:00:00;12:05:00;3;0;3;2;1

TimeZoneBias=3600000

 

Das verstehe ich nicht.

Share this post


Link to post
Griga
Im Timer Fenster steht nichts.

Da müsste aber die manuell programmierte Aufnahme stehen.

 

In der Setup.ini steht:

0=Die Legende;2;04.01.2011;14:33:00;16:40:00;3;0;3

Das ist meiner Meinung nach auch korrekt, weil der DVBViewer die manuelle Testaufnahme erst nach dem Beenden speichern sollte.

Nein, ist nicht korrekt. Der DVBViewer GE muss die Setup.ini zunächst aktualisieren, weil sonst beim von dvbv_tvg.exe ausgelöstem Laden noch nicht gespeicherte (im DVBViewer GE vorgenommene) Änderungen verloren wären - in diesem Fall konkret die manuell programmierte Aufnahme.

 

Deshalb macht dvbv_tvg.exe folgendes:

 

- Eine Message an den DVBViewer GE schicken, dass die Setup.ini aktualisiert werden soll.

 

- Die zusätzliche Timeraufnahme in die Setup.ini schreiben.

 

- Eine Message an den DVBViewer GE schicken, dass die Setup.ini neu geladen werden soll.

 

Sowas nennt man "Synchronisieren". Dein Experiment zeigt jedoch, dass wie vermutet *beide* Messages den DVBViewer GE nicht erreichen. dvbv_tvg.exe verhält sich so, als würde der DVBViewer GE nicht laufen, oder anders gesagt, wenn das Tool von TVGenial gestartet wird, findet es das DVBViewer GE-Hauptfenster nicht, hat also keinen Adressaten für die Messages.

 

Das kann an subtilen Pfad-Unterschieden liegen. Was mir gerade auffällt:

 

DoRecord "d:\Heimkino\DVBViewer GE\dvbv_tvg.exe"
"D:\Heimkino\DVBViewer GE\dvbv_tvg.exe"

 

Siehst du den Unterschied? Schreibe D:\ in dem Skript mal zur Abwechslung groß. Ich kann das Problem nämlich exakt reproduzieren, wenn ich dvbv_tvg.exe nicht über eine Verknüpfung, sondern mitsamt Kommandoparametern über Startmenü -> Ausführen starte. Mit C:\Programme\DVBViewer\dvbv_tvg.exe funktioniert es, mit c:\Programme\DVBViewer\dvbv_tvg.exe nicht...

Share this post


Link to post
richy1956

Problem gelöst: Das "D" war es.

 

Unendlichen DANK für Deine rasche und fruchtbare Hilfe.

Share this post


Link to post
This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...