capture-plugin und batchdatei: geht, geht nicht...

Hier haben Plugin-Entwickler die Möglichkeit, sich auszutauschen.
Antworten
Benutzeravatar
punchy
Junior Member
Beiträge: 13
Registriert: 03 Mär 2006, 16:28

capture-plugin und batchdatei: geht, geht nicht...

Beitrag von punchy »

hallo zusammen,

bin zwar kein plugin-entwickler aber glaube mein beitrag gehört hier her !?
es geht um das erzeugen eines eintrags im task-scheduler und gleichzeitigem setzen des häkchens bei "computer zum ausführen des tasks reaktivieren". ich weiss, dafür gibts schon entsprechende scripte, das war mir aber alles zu kompliziert und ich dachte, das müsste auch mit einer einfachen batch-datei gehen. tut es auch, aber nur "ab und zu".
folgendes mache ich:
batch datei "iuvcr_aufnahme.cmd" mit folgendem inhalt:

if %1==start call schtasks /create /SC EINMAL /TN "%2" /TR "C:\Programme\iuLAB\iuVCR\iuVCR.exe /ch:%3 /d:%4 /p:divx_mike_standard /pwr:h" /ST "%5" /SD "%6" /ru benutzername /rp passwort & call waketask 1 "%2" & exit
if %1==ende call schtasks /delete /TN "%2" /F & exit

wobei benutzername und passwort in meiner realen datei die richtigen werte im klartext enthalten (die will ich hier nur nicht posten ;-))

im tvbrowser (2.1) steht bei

applikation:
iuvcr_aufnahme.cmd

parameter/aufnehmen:
start {leadingZero(start_day,"2")}{leadingZero(start_month,"2")}{leadingZero(start_year,"2")}_{leadingZero(start_hour,"2")}{leadingZero(start_minute,"2")}_{clean(channel_name)}_{clean(title)} {channel_name_external} {length_sec} {leadingZero(start_hour,"2")}:{leadingZero(start_minute,"2")}:00 {leadingZero(start_day,"2")}/{leadingZero(start_month,"2")}/{leadingZero(start_year,"4")}

parameter/loeschen:
ende {leadingZero(start_day,"2")}{leadingZero(start_month,"2")}{leadingZero(start_year,"2")}_{leadingZero(start_hour,"2")}{leadingZero(start_minute,"2")}_{clean(channel_name)}_{clean(title)}

wenn ich so eine aufnahme programmiere wird sie immer! korrekt im task-planer eingetragen aber meistens bekomme ich vom tvbrowser folgende fehlermeldung:

Fehler bei ausführen des Kommandos.

----- Start of stacktrace -----
java.lang.IllegalThreadStateException: process has not exited
at java.lang.ProcessImpl.exitValue(Native Method)
at captureplugin.drivers.defaultdriver.CaptureExecute.executeApplication(CaptureExecute.java:269)
at captureplugin.drivers.defaultdriver.CaptureExecute.execute(CaptureExecute.java:150)
at captureplugin.drivers.defaultdriver.CaptureExecute.addProgram(CaptureExecute.java:105)
at captureplugin.drivers.defaultdriver.DefaultDevice.add(DefaultDevice.java:205)
at captureplugin.CapturePlugin$2.actionPerformed(CapturePlugin.java:242)
at tvbrowser.core.plugin.ActionProxy.actionPerformed(ActionProxy.java:83)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at util.ui.textcomponentpopup.TextComponentPopupEventQueue.dispatchEvent(TextComponentPopupEventQueue.java:34)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
----- End of stacktrace -----

die sendung wird dann natürlich im tvbrowser nicht in der liste der aufnahmen eingetragen :-(

das komische ist halt, dass es manchmal funktioniert und manchmal nicht, was ich mir nicht erklären kann.
hab auch schon mit den werten bei "maximale anzahl gleichzeitiger aufnahmen" rumgespielt, bringt aber nix.

irgendwelche ideen?

gruss, punchy
ds10
Site Admin
Beiträge: 19101
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Beitrag von ds10 »

Das Problem ist, dass die Batchdatei den Ausgabepuffer vollschreibt. Wenn dies passiert kann die Batchdatei nicht mehr zurückgeben.

Der Fehler liegt im CapturePlugin und wurde bereits gefixt, mit der nächsten TVB-Version wird auch das gefixte CapturePlugin mitgeliefert, so lange wirst du leider warten müssen. Wir wissen zur Zeit leider noch nicht wann wir mit der nächsten TVB-Version fertig sind.

Das Problem kannst du umgehen, wenn du eine zweite Batchdatei anlegst, die mit start irgendwas.bat die eigentliche Programmierung aufruft.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Benutzeravatar
punchy
Junior Member
Beiträge: 13
Registriert: 03 Mär 2006, 16:28

Beitrag von punchy »

hatte ich schon enter gedrückt und den beitrag abgeschickt??
:D das geht ja ratzfatz hier mit den antworten, danke ds10!

ich hatte schon gedacht ich schnall gar nix mehr, aber wenns an tvb liegt und vor allem das prob schon gefixt ist bin ich gern bereit zu warten :)
vielen dank für den tipp mit der zweiten batchdatei, werd ich nachher mal ausprobieren...

greets, punchy
Benutzeravatar
punchy
Junior Member
Beiträge: 13
Registriert: 03 Mär 2006, 16:28

Beitrag von punchy »

mal ne vorsichtige anfrage:
könnt ihr so pi mal daumen einen termin angeben, wann die neue version mit dem gefixten batchproblem fertig ist? ich mein das so in größenordnungen wie in 2 wochen, 2 monaten, vielleicht ende des jahres oder noch später?
ich hab nämlich deinen tip mit den 2 batchdateien befolgt, bin aber zu keinem ergebnis gekommen. und bevor ich mir hier noch weiter stress mache und die neue version evtl. schon in 2 monaten rauskommt würde ich darauf warten!
ansonsten wär ich natürlich auch dankbar wenn du mir einen detaillierteren tip geben könntest, wie du das mit den 2 batchdateien meinst.

greets, punchy
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

Wir wissen nicht, wann die rauskommt. Hoffentlich noch dieses Jahr.
ds10
Site Admin
Beiträge: 19101
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Beitrag von ds10 »

punchy hat geschrieben:ansonsten wär ich natürlich auch dankbar wenn du mir einen detaillierteren tip geben könntest, wie du das mit den 2 batchdateien meinst.
Klar, mache ich doch gerne. :-)

Die Batch Zwischendatei sollte so aussehen:

Code: Alles auswählen

@echo off
start C:\iuvcr_aufnahme.cmd %1 %2 %3 %4 %5 %6
@echo on
Diese sollte dann vom CapturePlugin aufgerufen werden, mehr Änderungen brauchts nicht.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Antworten