Hallo,
habe nur ein script geschrieben, dass eben erlaubt eine Filmdatei auszuwählen, den pfad + Filmname in eine Datei schreibt und zu guter letzt dann eine Bat-Datei ausführt (was das eigentlich zusammenführen startet)
Beim verfeinern komm ich nicht mehr klar
Ich habe ein Menü hinzugefügt mit File (Einstellungen, Exit) und ? (Info)
Es geht alles bis auf Einstellungen.
Dort kann man den Standart Filmeordner als Pfad festlegen (Ergebnis kommt in eine .ini und wird immer abgerufen wenn gebraucht)
Man kann den Pfad auswählen, dieser wird auch noch in die .ini gespeicht und dann ist es vorbei.
Wenn ich die Schleife des Child Guis so einstelle das sie nicht endlos ist, dann muss ich zweimal auf Fertig bzw. auf das X rechts oben klicken um das Gui zu "zerstören".
Schaut euch mal bitte die Funktion _einstellungen() und die Dauerabfrage unten an
Ich danke schonmal für die Mühe.
[autoit]#include <GUIConstants.au3>
[/autoit][autoit][/autoit][autoit];GUI
Dim $msg, $los, $tmp, $tmp2, $name, $auswahl, $input, $anfang_abbruch, $cfg_input, $filmordner, $filmordner_waehlen, $gui_cfg, $gui_info
Dim $fileitem, $exititem, $infoitem
Global $startpfad = "d:\_stuff\vid"
Dim $font = "Arial"
Dim $len = StringLen($startpfad)
$len += 1
Global $child_x = False
[/autoit][autoit][/autoit][autoit]TraySetIcon("icon.ico")
Opt("TrayMenuMode", 1)
Func _initialisieren_nach_gui()
;~ GUICtrlSetState(-1, $GUI_DISABLE)
$auswahl = GUICtrlCreateButton("Film auswählen", 95, 5, 150, 20)
$input = GUICtrlCreateInput($name, 10, 40, 310)
;~ GuiCtrlSetState(-1,$GUI_DROPACCEPTED)
$los = GUICtrlCreateButton("Zusammenfuehren", 95, 75, 150, 20)
GUICtrlCreateLabel ("°°° erstellt von mir für mich °°°",97, 130, 250, 23)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor(-1,0x000000)
GUICtrlSetFont (-1, 8, 900, "")
$filemenu = GUICtrlCreateMenu ("Datei")
$fileitem = GUICtrlCreateMenuitem ("Einstellungen",$filemenu)
GUICtrlSetState(-1,$GUI_DEFBUTTON)
$exititem = GUICtrlCreateMenuitem ("Exit",$filemenu)
$helpmenu = GUICtrlCreateMenu ("?")
$infoitem = GUICtrlCreateMenuitem ("Info",$helpmenu)
EndFunc
Func _start()
[/autoit][autoit][/autoit][autoit]$tmp = $name
$tmp2 = StringTrimRight($tmp, 4)
String($tmp2)
FileDelete("" & @ScriptDir & "\start.vcf")
$file = FileOpen("" & @ScriptDir & "\start.vcf", 1)
FileWrite($file, 'VirtualDub.Open("' & $tmp2 & '.avi",0,0)' & @CRLF);
FileWrite($file, "VirtualDub.RemoveInputStreams()" & @CRLF);
FileWrite($file, 'VirtualDub.stream[0].SetSource("' & $tmp2 & '.ac3",0x00000203,0)' & @CRLF);
FileWrite($file, "VirtualDub.stream[0].DeleteComments(1)" & @CRLF);
FileWrite($file, "VirtualDub.stream[0].AdjustChapters(1)" & @CRLF);
FileWrite($file, "VirtualDub.stream[0].SetMode(0)" & @CRLF);
FileWrite($file, "VirtualDub.stream[0].SetInterleave(1,500,1,0,0)" & @CRLF);
FileWrite($file, "VirtualDub.stream[0].SetClipMode(1,1)" & @CRLF);
FileWrite($file, "VirtualDub.stream[0].SetConversion(0,0,0,0,0)" & @CRLF);
FileWrite($file, "VirtualDub.stream[0].SetVolume()" & @CRLF);
FileWrite($file, "VirtualDub.stream[0].SetCompression()" & @CRLF);
FileWrite($file, "VirtualDub.stream[0].EnableFilterGraph(0)" & @CRLF);
FileWrite($file, "VirtualDub.stream[0].filters.Clear()" & @CRLF);
FileWrite($file, "VirtualDub.video.DeleteComments(1)" & @CRLF);
FileWrite($file, 'VirtualDub.video.AddComment(0x00000002,"ISFT","AVI-Mux GUI 1.17.7, Aug 8 2006 20:59:17")' & @CRLF);
FileWrite($file, "VirtualDub.video.AdjustChapters(1)" & @CRLF);
FileWrite($file, "VirtualDub.video.SetDepth(24,24)" & @CRLF);
FileWrite($file, "VirtualDub.video.SetMode(0)" & @CRLF);
FileWrite($file, "VirtualDub.video.SetFrameRate(0,1)" & @CRLF);
FileWrite($file, "VirtualDub.video.SetIVTC(0,0,-1,0)" & @CRLF);
FileWrite($file, "VirtualDub.video.SetRange(0,0)" & @CRLF);
FileWrite($file, "VirtualDub.video.SetCompression()" & @CRLF);
FileWrite($file, "VirtualDub.video.filters.Clear()" & @CRLF);
FileWrite($file, "VirtualDub.subset.Clear()" & @CRLF);
FileWrite($file, "VirtualDub.subset.AddRange(0,164676)" & @CRLF);
FileWrite($file, 'VirtualDub.SaveAVI("' & $tmp2 & '_AC3.avi")');
FileClose($file)
;~ Run("start.bat")
EndFunc
Func _info()
GUICtrlCreateLabel("Film mit der AC3 Tonspur zusammenführen" & @CRLF, 10 , 10, 300)
GUICtrlSetFont (-1, 11, 800, "", $font)
GUICtrlCreateLabel('Datei auswählen und los gehts ;)', 10, 35)
GUICtrlCreateLabel("Wichtig:" & @CRLF, 10 , 110, 150)
GUICtrlSetFont (-1, 10, 900, "", $font)
GUICtrlSetColor(-1,0xff0000)
GUICtrlCreateLabel("Biss auf die Dateiendung muss der " & @CRLF & "Name beider Dateien gleich sein!", 10, 130)
GUICtrlCreateLabel("all created by", 230 , 70, 180)
GUICtrlSetFont (-1, 9, 500, "", $font)
GUICtrlCreateLabel("permanenT", 230 , 85, 180)
GUICtrlSetFont (-1, 9, 900, "", $font)
EndFunc
Func _inischreiben()
If FileExists("" & @ScriptDir & "\cfg\cfg.ini") Then
;
Else
$tmpfile = FileOpen("" & @ScriptDir & "\cfg\cfg.ini", 1)
FileClose($tmpfile)
EndIf
$tmp = FileSelectFolder("Filmordner", "")
String($tmp)
IniWrite ("" & @ScriptDir & "\cfg\cfg.ini", "Speicherort", "Film", $tmp )
GUIDelete($gui_cfg)
$gui_cfg = GUICreate ( "Einstellungen" , 330 , 115 , 500 , 500 )
GUISetState(@SW_SHOW, $gui_cfg)
_einstellungen()
$startpfad = $tmp
EndFunc
Func _einstellungen()
$filmordner = IniRead("" & @ScriptDir & "\cfg\cfg.ini", "Speicherort", "Film", "nicht festgelegt")
GUICtrlCreateLabel('Filmordner:', 10, 10)
$cfg_input = GUICtrlCreateInput($filmordner, 10, 30, 310)
GUICtrlSetData($cfg_input, $filmordner)
$filmordner_waehlen = GUICtrlCreateButton("Pfad wählen", 10, 55, 90, 20)
$cfg_fertig = GUICtrlCreateButton("Fertig", 10, 85, 90, 20)
GUICtrlCreateLabel("all created by", 230 , 70, 180)
GUICtrlSetFont (-1, 9, 500, "", $font)
GUICtrlCreateLabel("permanenT", 230 , 85, 180)
GUICtrlSetFont (-1, 9, 900, "", $font)
;~ If $child_x = True Then
While 1
Dim $msg2
$msg2 = GUIGetMsg(1)
Select
Case $msg2[0] = $filmordner_waehlen And $msg2[1] = $gui_cfg
_inischreiben()
GUICtrlSetData($cfg_input, $filmordner)
Case $msg2[0] = $cfg_fertig And $msg2[1] = $gui_cfg
GUIDelete($gui_cfg)
Case $msg2[0] = $GUI_EVENT_CLOSE And $msg2[1] = $gui_cfg
GUIDelete($gui_cfg)
EndSelect
WEnd
;~ Else
;
;~ EndIf
;~ $child_x = False
EndFunc
[/autoit][autoit][/autoit][autoit];Gui erstellen
$gui_main = GUICreate ( "Film und Tonspur zusammen bringen" , 330 , 170 , 400 , 400) ; Hinter die 400 , "", $GUI_ACCEPTFILES)
GUICtrlSetState(-1, $GUI_DISABLE)
_initialisieren_nach_gui()
GUISetState(@SW_SHOW, $gui_main)
[/autoit][autoit][/autoit][autoit]While 1
$msg = GUIGetMsg(1)
Select
Case $msg[0] = $auswahl
$tmp = FileOpenDialog("Bitte Film auswählen", $startpfad, "Avi-Dateien (*.avi)", 1)
$name = StringTrimLeft($tmp, $len)
GUICtrlSetData($input, $name)
;~ Case $msg = $GUI_EVENT_DROPPED
;~ GUICtrlSetState($name2, $GUI_FOCUS)
Case $msg[0] = $los
$anfang_abbruch = MsgBox(4, "Frage", "Zusammenführen beginnen?")
If $anfang_abbruch = 6 Then
_start()
Else
;
EndIf
Case $msg[0] = $fileitem
$gui_cfg = GUICreate ( "Einstellungen" , 330 , 115 , 500 , 500 )
GUISetState(@SW_SHOW, $gui_cfg)
;~ $child_x = True
_einstellungen()
;~ If $cfg_fensterabfrage = True Then
;~
;~ Case $msg[0] = $filmordner_waehlen
;~ _inischreiben()
;~ GUICtrlSetData($cfg_input, $filmordner)
;~ Else
;~ ;
;~ EndIf
Case $msg[0] = $infoitem
$gui_info = GUICreate ( "Infos" , 330 , 170 , 500 , 500 )
GUISetState(@SW_SHOW, $gui_info)
_info()
Case $msg[0] = $exititem
ExitLoop
Case $msg[0] = $GUI_EVENT_CLOSE And $msg[1] = $gui_main
ExitLoop
Case $msg[0] = $GUI_EVENT_CLOSE And $msg[1] = $gui_info
GUIDelete($gui_info)
Case $msg[0] = $GUI_EVENT_CLOSE And $msg[1] = $gui_cfg
GUIDelete($gui_cfg)
EndSelect
WEnd
Exit
[/autoit]