diff options
| author | tassaron | 2017-07-27 17:49:08 -0400 |
|---|---|---|
| committer | tassaron | 2017-07-27 17:49:08 -0400 |
| commit | de1324a6a75eb2a9f97d8a6b416077cfc73b2bc9 (patch) | |
| tree | 2aebc32702f193280f6332a7aa6c3f21e4390ca0 /src/video_thread.py | |
| parent | 4329b0e947471ced7ca0b3460a5f40e2703117e9 (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.py | 14 |
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: |
