satipfan Posted Thursday at 10:37 PM Posted Thursday at 10:37 PM Seit der Version 7.3.1.9 gibt es die geniale Möglichkeit, mehere parallele Instanzen über ActionIDs zu steuern. Leider gibt es mit der ActionID 73 ein Problem. 1. Ich starte eine DVBViewer-Aufnahme mit der Kommandozeile "C:\Program Files (x86)\DVBViewer\DVBViewer.exe" -3 -x34 und möchte den DVBViewer anschließend mit "C:\Program Files (x86)\DVBViewer\DVBViewer.exe" -3 -x34 -x73 -x12326 schließen, was theotetisch funktionieren müsste (-x34 beendet eine laufende Aufnahme nach Bestätigung, -x73 führt die Bestätigung durch und -x12326 schließt den DVBViewer). Aber statt Schließen des DVBViewers erscheint nur ein OSD mit dem Focus auf “1 Stopp“- so als hätte es nur die Befehlsparameter “-3 -x34“ gegegeben. 2. Benutze ich im Anschluss an Punkt 1. eine Kommandozeile mit “-x73“ oder bestätige ich “1 Stopp“ per Enter oder mit einem Mausklick, dann wird nicht nur die Aufnahme beendet, sondern der DVBViewer schließt ohne expliziten Schließbefehl, d.h., der Parameter “-x12326“ war offensichtlich noch aktiv und wurde „nachträglich“ ausgeführt. 3. Führe ich im Anschluss an einen Aufnahmestart eine Kommandozeile mit den Parametern “-3 -x34“ aus (führt zu OSD mit “1 Stopp“) und anschließend eine mit den Parametern “-3 -x73 -x12326“, so erscheint das OSD “Sind Sie sicher? Es läuft noch eine Aufnahme!“! Dieses OSD wäre aber auch dann erschienen, wenn der Kommandobefehl ohne “-x73“ ausgefürt worden wäre. 4. Führe ich für jeden der unter Punkt 1. genannten Parameter eine einzelne Kommandozeile aus, funktioniert alles wie erwartet. Dieses und die Punkte 1. und 3. zeigen: “-x73“ funktioniert nur bei Solo-Anwendung, wird aber im Zusammenhang mit anderen ActionIDs ignoriert . Ich hoffe, dass eine Korrektur möglich ist, denn nur damit ist ein Kommandozeilen gesteuertes Beenden einer Aufnahme möglich. Quote
Griga Posted yesterday at 03:55 AM Posted yesterday at 03:55 AM Das beobachtete Verhalten resultiert daraus, dass der DVBViewer die -x Kommandos nacheinander in einer Schleife abarbeitet und -x34 einen modalen OSD-Dialog aufruft. Der Aufruf kehrt nach dem Schließen des Dialogs zurück. Erst danach werden die nächsten -x Kommandos abgearbeitet. Die Bestätigung der Abfrage kommt also nie im Dialog an. Zwar gibt es auch eine Kommandoverarbeitung, während der Dialog aktiv ist. Er reagiert deshalb auf eine erneute Kommandosequenz. Aber diese wird in einer weiteren Schleife abgearbeitet, führt also nicht zur Fortsetzung der ersten Schleife. Es handelt sich um eine Schleife innerhalb einer Schleife. Das ist prinzipbedingt und deshalb kaum zu ändern. Helfen würden nur -x Kommandos, die eine Aufnahme bzw. den DVBViewer ohne Nachfrage beenden. Quote
satipfan Posted yesterday at 09:17 AM Author Posted yesterday at 09:17 AM vor 4 Stunden schrieb Griga: Helfen würden nur -x Kommandos, die eine Aufnahme bzw. den DVBViewer ohne Nachfrage beenden. Das wäre natürlich die eleganteste Lösung, die ich bisher vermisst hatte, aber hoffte, sie mit Bordmitteln ersetzen zu können. Wann könnten die -x Kommandos ohne Nachfrage implementiert werden? Quote
Griga Posted 19 hours ago Posted 19 hours ago vor 6 Stunden schrieb satipfan: Wann könnten die -x Kommandos ohne Nachfrage implementiert werden? Vor dem "wann" ist das "ob überhaupt" zu klären (Aufwand/Nutzen-Verhältnis), und falls ja, in welcher Form. Im Grunde machen modale Nachfragen bei der Abarbeitung von Kommandozeilen-Sequenzen keinen Sinn, außer vielleicht beim letzten Kommando, so dass man sie generell unterdrücken sollte, nicht nur in speziellen Fällen. Das wirft allerdings viele Fragen auf... Quote
satipfan Posted 14 hours ago Author Posted 14 hours ago vor 4 Stunden schrieb Griga: Im Grunde machen modale Nachfragen bei der Abarbeitung von Kommandozeilen-Sequenzen keinen Sinn, außer vielleicht beim letzten Kommando, so dass man sie generell unterdrücken sollte, nicht nur in speziellen Fällen. Das wirft allerdings viele Fragen auf... ... und Folgendes hilft vielleicht eine dieser Fragen zu beantworten. Ich programmiere TV-Aufnahmen, in der Regal automatisch (stichwortbezogen), mittels TV-Browser und dem Plugin WinVVCap_GUI-Scheduler2. Das Plugin sorgt für den Aufnahmestart und soll dieses auch für das Aufnahmeende tun, das ich bisher über eine Taskill-Anweisung in der command.vbs realsiert habe. Das funktionierte bisher mit einer gestarteten Aufnahme auch gut. Da meine TV-Karte nun 4 Tuner besitzt, kann mehr als eine Aufnahme gleichzeitig programmiert sein. Aber leider wird die command.vbs nur beim zuerst gestarteten DVBViewer berücksichtigt. Die während der Laufzeit dieser Aufnahme gestarteten weiteren Aufahmen werden daher nicht beendet und laufen im schlimmsten Falle solange, bis die Festplatte voll ist. Das tritt auch dann ein, wenn während des Starts einer Aufnahme bereits eine andere Instanz einer vorherigen Version für andere Zwecke in Nutzung ist, z.B Wiedergabe. Damit scheidet die command.vbs-Lösung also aus. Die andere Lösung mit den ActionIDs 34 und 73 scheidet vollkommen aus, da mit ihnen ein Aufnahmestopp sogar in keinem der Fälle möglich ist. So schön es auch sein könnte - da helfen keine 4 Tuner und 8 mögliche Instanzen: Also alles zurück auf NULL? Dann wäre der ganze bisherige Aufwand umsonst gewesen! Daher ist das Beenden einer laufenden Aufnahme mittels Kommnadozeilen-Sequenz ohne Nachfrage notwendig. Dass modale Nachfragen bei der Abarbeitung von Kommandozeilen-Sequenzen keinen Sinn machen, dem kann ich nur zustimmen, denn automatische Steuerungsabläufe können keine Nachfragen beantworten. Quote
Griga Posted 7 hours ago Posted 7 hours ago Ein schräger Würg-Around: Du startest mit -x50 Timeshift-Aufnahmen und schaltest zusätzlich mit Tweaker.exe den Tweak "Timeshift-Aufnahmen automatisch löschen" aus. Dann kannst du den DVBViewer z.B. mit -x6 schließen und damit die Aufnahme beenden, ohne dass eine Rückfrage erfolgt. Mehr zu dem Thema Timeshift seit Version 7.0.0 hier und bei Bedarf. Das kollidiert allerdings eventuell mit anderweitiger Nutzung von Timeshift, falls sowas bei dir stattfindet. Wieso brauchst du eigentlich mehrere DVBViewer-Instanzen für deine Aufnahmen? Quote
satipfan Posted 1 hour ago Author Posted 1 hour ago Der Würg-Around würde funktionieren, käme nach -x6 nicht ein Nachfragefenster, ob man schließen will. Ohne Nachfrage geht es wohl nur, wenn keinerlei Aufnahmen laufen. Wenn zur gleichen Zeit mehrere Aufnahmen laufen sollen, dann ist wohl mehr als eine Instanz notwendig, entweder mit -n oder -x, wobei x 1 bis 8 betragen kann. Quote
Griga Posted 1 hour ago Posted 1 hour ago vor einer Stunde schrieb satipfan: Der Würg-Around würde funktionieren, käme nach -x6 nicht ein Nachfragefenster, ob man schließen will. Ohne Nachfrage geht es wohl nur, wenn keinerlei Aufnahmen laufen. Aber mit -x12326 geht's hier. Beim Beenden via TV/Radio-Menü auch. Timeshift-Aufnahmen zählen beim Beenden nicht. Manchmal ist der DVBViewer etwas sonderbar Ich frage mich gerade, wofür Optionen -> Erweitert -> Ohne Bestätigung beenden gilt. Angeblich für OSD und Fernbedienung. -x6 und -x12326 beeinflusst das aber nicht? vor einer Stunde schrieb satipfan: Wenn zur gleichen Zeit mehrere Aufnahmen laufen sollen, dann ist wohl mehr als eine Instanz notwendig, entweder mit -n oder -x, wobei x 1 bis 8 betragen kann. Der DVBViewer kann auch in einer Instanz mehrere Aufnahmen gleichzeitig durchführen. Der Rekord steht auf 60 Radiosender gleichzeitig, die alle auf einer Frequenz lagen und deshalb nur einen Tuner brauchten. Bei Verwendung von -x34 müsstest du nur vorher mit -c... den betreffenden Sender wählen. Und natürlich alle 4 Tuner der Instanz zuordnen. Mit Timeshift-Aufnahmen geht das jedoch so nicht, weil beim Senderwechsel zumindest die Aufnahme beendet wird. Da brauchst du wirklich die Instanzen. Quote
Griga Posted 57 minutes ago Posted 57 minutes ago vor 10 Minuten schrieb Griga: Optionen -> Erweitert -> Ohne Bestätigung beenden Noch einen Test durchgeführt: Wirkt auf-x6, aber nicht auf -x12326. Bitte probiere das auch mal. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.