-
Notifications
You must be signed in to change notification settings - Fork 0
/
ffmpeg_wrap_noedit.nim
39 lines (33 loc) · 1 KB
/
ffmpeg_wrap_noedit.nim
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import os
import wnim
import winim
import nimpy
# Put python.dll into following folder
# C:/Users/username/AppData/Local/Microsoft/WindowsApps
var running_process = false
var the_proc: PyObject
let subprocess = pyImport("subprocess")
let py = pyBuiltinsModule()
let pipe = subprocess.PIPE
let app = App()
let frame = Frame(title="ffmpeg_wrap", size=(400, 300))
frame.connect(WM_MOVE) do (event: wEvent):
if running_process == false:
running_process = true
var command_str: string = paramStr(1)
for i in 2..paramCount():
var param: string = paramStr(i)
if param.contains(' '):
param = "\"" & paramStr(i) & "\""
else:
param = paramStr(i)
command_str = command_str & " " & param
the_proc = subprocess.Popen(command_str, stdin=pipe)
frame.connect(WM_CLOSE) do (event: wEvent):
let pycommand = py.str.encode(py.str("q"), "utf-8")
discard the_proc.communicate(input=pycommand)
sleep(1000)
discard the_proc.terminate()
quit(0)
frame.center()
app.mainLoop()