more loading feedback

This commit is contained in:
tassaron 2017-05-21 22:44:48 -04:00
parent fb5115f0b2
commit e771992195
3 changed files with 18 additions and 6 deletions

View File

@ -147,6 +147,7 @@ class Main(QtCore.QObject):
self.videoWorker.moveToThread(self.videoThread)
self.videoWorker.videoCreated.connect(self.videoCreated)
self.videoWorker.progressBarUpdate.connect(self.progressBarUpdated)
self.videoWorker.progressBarSetText.connect(self.progressBarSetText)
self.videoThread.start()
self.videoTask.emit(self.window.label_background.text(),
@ -163,6 +164,9 @@ class Main(QtCore.QObject):
def progressBarUpdated(self, value):
self.window.progressBar_create.setValue(value)
def progressBarSetText(self, value):
self.window.progressBar_create.setFormat(value)
def videoCreated(self):
self.videoThread.quit()
self.videoThread.wait()

View File

@ -386,7 +386,10 @@
<number>24</number>
</property>
<property name="textVisible">
<bool>false</bool>
<bool>true</bool>
</property>
<property name="alignment">
<enum>Qt::AlignCenter</enum>
</property>
</widget>
</item>

View File

@ -11,6 +11,7 @@ class Worker(QtCore.QObject):
videoCreated = pyqtSignal()
progressBarUpdate = pyqtSignal(int)
progressBarSetText = pyqtSignal(str)
def __init__(self, parent=None):
QtCore.QObject.__init__(self)
@ -31,6 +32,10 @@ class Worker(QtCore.QObject):
xOffset,
yOffset)
progressBarValue = 0
self.progressBarUpdate.emit(progressBarValue)
self.progressBarSetText.emit('Loading background image…')
backgroundFrames = self.core.parseBaseImage(backgroundImage)
if len(backgroundFrames) < 2:
# the base image is not a video so we can draw it now
@ -38,9 +43,8 @@ class Worker(QtCore.QObject):
else:
# base images will be drawn while drawing the audio bars
imBackground = None
self.progressBarUpdate.emit(0)
self.progressBarSetText.emit('Loading audio file…')
completeAudioArray = self.core.readAudioFile(inputFile)
# test if user has libfdk_aac
@ -79,9 +83,8 @@ class Worker(QtCore.QObject):
smoothConstantDown = 0.08
smoothConstantUp = 0.8
lastSpectrum = None
progressBarValue = 0
sampleSize = 1470
numpy.seterr(divide='ignore')
bgI = 0
for i in range(0, len(completeAudioArray), sampleSize):
@ -110,6 +113,7 @@ class Worker(QtCore.QObject):
if progressBarValue + 1 <= (i / len(completeAudioArray)) * 100:
progressBarValue = numpy.floor((i / len(completeAudioArray)) * 100)
self.progressBarUpdate.emit(progressBarValue)
self.progressBarSetText.emit('%s%%' % str(int(progressBarValue)))
numpy.seterr(all='print')
@ -121,4 +125,5 @@ class Worker(QtCore.QObject):
out_pipe.wait()
print("Video file created")
self.progressBarUpdate.emit(100)
self.progressBarSetText.emit('100%')
self.videoCreated.emit()