aboutsummaryrefslogtreecommitdiff
path: root/src/command.py
diff options
context:
space:
mode:
authorBrianna2017-07-15 19:40:08 -0400
committerGitHub2017-07-15 19:40:08 -0400
commitf420ad69f5f6f3c830fea890a760ce0ce61ba571 (patch)
tree2a7f9df3eebbae8da4317516f84dfe7490b5d36a /src/command.py
parent94d4acc1f4f4abe4029e8f9c050932b67cae8cec (diff)
parentbcb8f27c2e4434d2296dcd66bf279b76ee0d0a4f (diff)
Merge audio-mixing branch
some basic audio features + more user feedback + merging static components
Diffstat (limited to 'src/command.py')
-rw-r--r--src/command.py42
1 files changed, 28 insertions, 14 deletions
diff --git a/src/command.py b/src/command.py
index be194d8..84d798d 100644
--- a/src/command.py
+++ b/src/command.py
@@ -7,15 +7,15 @@ from PyQt5 import QtCore
import argparse
import os
import sys
+import time
import core
-import video_thread
from toolkit import LoadDefaultSettings
class Command(QtCore.QObject):
- videoTask = QtCore.pyqtSignal(str, str, list)
+ createVideo = QtCore.pyqtSignal()
def __init__(self):
QtCore.QObject.__init__(self)
@@ -112,21 +112,35 @@ class Command(QtCore.QObject):
quit(1)
def createAudioVisualisation(self, input, output):
- self.videoThread = QtCore.QThread(self)
- self.videoWorker = video_thread.Worker(self)
- self.videoWorker.moveToThread(self.videoThread)
- self.videoWorker.videoCreated.connect(self.videoCreated)
-
- self.videoThread.start()
- self.videoTask.emit(
- input,
- output,
- list(reversed(self.core.selectedComponents))
+ self.core.selectedComponents = list(
+ reversed(self.core.selectedComponents))
+ self.core.componentListChanged()
+ self.worker = self.core.newVideoWorker(
+ self, input, output
)
+ self.worker.videoCreated.connect(self.videoCreated)
+ self.lastProgressUpdate = time.time()
+ self.worker.progressBarSetText.connect(self.progressBarSetText)
+ self.createVideo.emit()
+
+ @QtCore.pyqtSlot(str)
+ def progressBarSetText(self, value):
+ if 'Export ' in value:
+ # Don't duplicate completion/failure messages
+ return
+ if not value.startswith('Exporting') \
+ and time.time() - self.lastProgressUpdate >= 0.05:
+ # Show most messages very often
+ print(value)
+ elif time.time() - self.lastProgressUpdate >= 2.0:
+ # Give user time to read ffmpeg's output during the export
+ print('##### %s' % value)
+ else:
+ return
+ self.lastProgressUpdate = time.time()
+ @QtCore.pyqtSlot()
def videoCreated(self):
- self.videoThread.quit()
- self.videoThread.wait()
quit(0)
def showMessage(self, **kwargs):