aboutsummaryrefslogtreecommitdiff
path: root/src/video_thread.py
diff options
context:
space:
mode:
authortassaron2017-07-27 17:49:08 -0400
committertassaron2017-07-27 17:49:08 -0400
commitde1324a6a75eb2a9f97d8a6b416077cfc73b2bc9 (patch)
tree2aebc32702f193280f6332a7aa6c3f21e4390ca0 /src/video_thread.py
parent4329b0e947471ced7ca0b3460a5f40e2703117e9 (diff)
fixed video component eating stdout
+ made height/width into properties to simplify render methods
Diffstat (limited to 'src/video_thread.py')
-rw-r--r--src/video_thread.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/video_thread.py b/src/video_thread.py
index c5a3c09..8c7d585 100644
--- a/src/video_thread.py
+++ b/src/video_thread.py
@@ -60,8 +60,7 @@ class Worker(QtCore.QObject):
audioI = self.compositeQueue.get()
bgI = int(audioI / self.sampleSize)
frame = None
- for compNo, comp in reversed(list(enumerate(self.components))):
- layerNo = len(self.components) - compNo - 1
+ for layerNo, comp in enumerate(reversed((self.components))):
if layerNo in self.staticComponents:
if self.staticComponents[layerNo] is None:
# this layer was merged into a following layer
@@ -76,10 +75,10 @@ class Worker(QtCore.QObject):
else:
# animated component
if frame is None: # bottom-most layer
- frame = comp.frameRender(compNo, bgI)
+ frame = comp.frameRender(bgI)
else:
frame = Image.alpha_composite(
- frame, comp.frameRender(compNo, bgI)
+ frame, comp.frameRender(bgI)
)
self.renderQueue.put([audioI, frame])
@@ -185,7 +184,7 @@ class Worker(QtCore.QObject):
break
if 'static' in compProps:
self.staticComponents[compNo] = \
- comp.frameRender(compNo, 0).copy()
+ comp.frameRender(0).copy()
if self.canceled:
if canceledByComponent:
@@ -290,8 +289,11 @@ class Worker(QtCore.QObject):
print(self.out_pipe.stderr.read())
self.out_pipe.stderr.close()
self.error = True
- # out_pipe.terminate() # don't terminate ffmpeg too early
self.out_pipe.wait()
+
+ for comp in reversed(self.components):
+ comp.renderFinished()
+
if self.canceled:
print("Export Canceled")
try: