tvBrowser 1.1.alpha2 - capturePlugin 2.03

Fehler in TV-Browser
Gesperrt
Prometheus

tvBrowser 1.1.alpha2 - capturePlugin 2.03

Beitrag von Prometheus »

Meine Anfrage könnte etwas komplizierter ausfallen, da das Problem von mir nicht eindeutig zu lokalisieren ist.

Passiert ist folgendes: Nach der Neuinstallation der tvb 1.1.alpha2 Version machte ich mich auch gleich daran,
die neue version des capture plugins mit winTV2k zu testen. Nach einigem Vertrautmachen mit den neuen
Parametern richtete ich mir ein Gerät zur sofortigen Aufnahme und eines für die Aufnahme aus dem standby
Betrieb ein. Es lief alles wie von selbst.(Nebenbei: Ein hervorragendes plugin!!). Nun reichte mir die ganze
Sache nicht so ganz und ich versuchte gleichzeitig alle aktionen über die bekannten vbs scripten noch in ein
logfile einzutragen. Und damit begann das seltsame Verhalten vom tvb. Denn plötzlich wollte er nicht mehr
alle Sendungen(vorallem die, welche längere Titel haben und sogut wie keine weiteren Angaben im Infotext
machen) in die Liste der Aufnahmen eintragen und brachte die u.g. Fehlermeldung. Aber das Merkwürdigste
daran ist, daß die Parameter und Werte dennoch an die vbskripten übergeben werden und eigentlich trotzdem
noch alles funktioniert, selbst der eintrag im logfile.

Nun zur Frage, könnte mir denn jemand mal erklären, was die Fehlermeldung beinhaltet, und wie ich
eventuell meinen code umschreiben müßte, um dennoch einen glatten eintrag im logfile zu erhalten. Oder
hab ich da doch etwas entdeckt, was eventuell ein Bug genannt werden darf?

Ich danke für alle Bemühungen im voraus
Viele Grüße an das hervorragende Entwicklerteam des tv-browsers

Prometheus


Fehler bei ausführen des Kommandos.

Code: Alles auswählen

----- Start of stacktrace -----
java.lang.IllegalThreadStateException: process has not exited
  at java.lang.Win32Process.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 javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
  at javax.swing.AbstractButton$ForwardActionEvents.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$MouseInputHandler.mouseReleased(Unknown Source)
  at java.awt.Component.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 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 -----
timer.vbs

Code: Alles auswählen

Set ArgObj = WScript.Arguments
    v_counter = ArgObj.count

    IF 12 < v_counter THEN
        Wscript.Echo  date &" um "& time &" Uhr. "&"Zu viele Parameter! Folgende Parameter müssen in genauer Anzahl und Reihenfolge übergeben werden: {start_hour} {start_minute} {start_day} {start_month} {start_year} {channel_name_external} {device_password} {device_username} {title)} {length_sec} {length_minutes} {clean(channel_name)}"
        WScript.Quit(1)
    ELSE

        IF 12 > v_counter THEN
            Wscript.Echo  date &" um "& time &" Uhr. "&"Zu wenig Parameter! Folgende Parameter müssen in genauer Anzahl und Reihenfolge übergeben werden: {start_hour} {start_minute} {start_day} {start_month} {start_year} {channel_name_external} {device_password} {device_username} {title)} {length_sec} {length_minutes} {clean(channel_name)}"
            WScript.Quit(1)
        ELSE

            v_start_year = ArgObj(0)
            v_start_month = ArgObj(1)
            v_start_day = ArgObj(2)
            v_start_hour = ArgObj(3)
            v_start_minute = ArgObj(4)
            v_length_minute = ArgObj(5)
            v_length_sec = ArgObj(6)
            v_channel_name_external = ArgObj(7)
            v_channel_name = ArgObj(8)
            v_title = ArgObj(9)
            v_device_username = ArgObj(10)
            v_device_password = ArgObj(11)

   	        v_path_record  = "C:\Windows\System32\cscript.exe C:\Programme\tvBrowser.1.1.alpha\standbyrecord\development\recordNEU.vbs c:\PROGRAMME\WinTV\WinTV2K.EXE"
   	        v_path_schtasks = "%systemroot%\system32\schtasks.exe"
            v_path_waketask = "%systemroot%\System32\waketask.exe"

            IF 100 > v_length_minute Then
                IF 10 > v_length_minute Then
                    v_length_minute = "00"& v_length_minute
                ELSE
                    v_length_minute = "0"& v_length_minute
                END IF
            END IF

            ' die """" am anfang und ende des variablenwertes sind notwendig, um die werte in "" zu uebergeben
            v_startprog = """"& v_path_record &" "& v_start_year &" "& v_start_month &" "& v_start_day &" "& v_length_sec &" "& v_channel_name &" "& v_channel_name_external &" "& v_title &""""
            v_taskname = v_start_year &"."& v_start_month &"."& v_start_day &"."& v_start_hour &"."& v_start_minute &"h."& v_channel_name &"."& v_title

            v_user = """"& v_device_username &""""
            v_pass = """"& v_device_password &""""

            v_startdate = v_start_day &"/"& v_start_month &"/"& v_start_year
            v_starttime = v_start_hour &":"& v_start_minute &":00"

            ' message for record.log
            strCommand = "create.Task"
            strMessage = v_taskname
            strPathLogFile = "C:\Programme\tvBrowser.1.1.alpha\standbyrecord\logfile.vbs"
            strWriteLogFile = strPathLogFile &" "& strCommand &" "& strMessage
            Set task = WScript.CreateObject("WScript.Shell")
                    task.run (strWriteLogFile),1
                    Wscript.Echo "write to record.log successful"

            strTaskCommand = "/create /sc EINMAL /st "& v_starttime &" /sd "& v_startdate &" /ru "& v_user &" /rp "& v_pass &" /tn "& v_taskname &" /tr "& v_startprog
            v_create = 0

            Set objShell = WScript.CreateObject("WScript.Shell")
                Set objExecObject = objShell.Exec(v_path_schtasks &" "& strTaskCommand)
                Do While Not objExecObject.StdOut.AtEndOfStream
                    strText = objExecObject.StdOut.ReadLine()
                    If Instr(strText, "ERFOLGREICH") < 1 Then
                        Wscript.Echo strText
                        v_create  = 1
                    End If
                Loop

            IF 0 = v_create THEN
                Set task = WScript.CreateObject("WScript.Shell")
                    task.run (v_path_waketask &" 1 "& v_taskname),1
                    Wscript.Echo strTaskCommand
            ELSE
                WScript.Quit(1)
            END IF
        END IF
    END IF
logfile.vbs

Code: Alles auswählen

Set ArgObj = WScript.Arguments

    command = ArgObj(0)
    message = ArgObj(1)

    v_year =  DatePart("yyyy" , Now)
    v_month =  DatePart("m" , Now)
    v_day  =  DatePart("d" , Now)

    IF 10 > v_month Then
        v_month = 0 & v_month
    END IF

    IF  10 > v_day Then
        v_day = 0 & v_day
    END IF

	Set objFSO = wscript.CreateObject("Scripting.FileSystemObject")
        v_logPath = "C:\Programme\tvBrowser.1.1.alpha\standbyrecord\"
        v_logFile   = "record.log"
        v_strFullName = objFSO.BuildPath( v_logPath , v_logFile)

    Set objFile = objFSO.OpenTextFile(v_strFullName ,8 )
        objFile.WriteLine ""& v_year & "/"& v_month &"/"& v_day &" "& time &": ["& command &"] "& message &""
        objFile.Close
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

Doppelter Post, ich schließe das hier mal ab ;)
Gesperrt