Seite 1 von 1

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

Verfasst: 11 Mär 2006, 17:49
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

Verfasst: 11 Mär 2006, 18:12
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.

Verfasst: 11 Mär 2006, 18:20
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

Verfasst: 15 Mär 2006, 22:23
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

Verfasst: 15 Mär 2006, 22:36
von bodo
Wir wissen nicht, wann die rauskommt. Hoffentlich noch dieses Jahr.

Verfasst: 15 Mär 2006, 22:46
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.