From ff818836dd2221c544afe1fcc17369b17f90b0db Mon Sep 17 00:00:00 2001
From: tassaron
Date: Thu, 18 May 2017 19:14:27 -0400
Subject: added ability to use an mp4 as the background
might not be the best way to do this (dumping all the video frames to a temp location), but it works for clips of a few minutes or less
---
main.py | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
(limited to 'main.py')
diff --git a/main.py b/main.py
index 121efa0..391e4f6 100644
--- a/main.py
+++ b/main.py
@@ -35,13 +35,13 @@ class Main(QtCore.QObject):
self.previewWorker.moveToThread(self.previewThread)
self.previewWorker.imageCreated.connect(self.showPreviewImage)
-
+
self.previewThread.start()
self.timer = QtCore.QTimer(self)
self.timer.timeout.connect(self.processTask.emit)
self.timer.start(500)
-
+
window.pushButton_selectInput.clicked.connect(self.openInputFileDialog)
window.pushButton_selectOutput.clicked.connect(self.openOutputFileDialog)
window.pushButton_createVideo.clicked.connect(self.createAudioVisualisation)
@@ -69,7 +69,7 @@ class Main(QtCore.QObject):
window.textYSpinBox.setValue(375)
titleFont = self.settings.value("titleFont")
- if not titleFont == None:
+ if not titleFont == None:
window.fontComboBox.setCurrentFont(QFont(titleFont))
alignment = self.settings.value("alignment")
@@ -113,7 +113,7 @@ class Main(QtCore.QObject):
fileName = QtGui.QFileDialog.getOpenFileName(self.window,
"Open Music File", inputDir, "Music Files (*.mp3 *.wav *.ogg *.flac)");
- if not fileName == "":
+ if not fileName == "":
self.settings.setValue("inputDir", os.path.dirname(fileName))
self.window.label_input.setText(fileName)
@@ -123,7 +123,7 @@ class Main(QtCore.QObject):
fileName = QtGui.QFileDialog.getSaveFileName(self.window,
"Set Output Video File", outputDir, "Video Files (*.mkv)");
- if not fileName == "":
+ if not fileName == "":
self.settings.setValue("outputDir", os.path.dirname(fileName))
self.window.label_output.setText(fileName)
@@ -131,9 +131,9 @@ class Main(QtCore.QObject):
backgroundDir = self.settings.value("backgroundDir", expanduser("~"))
fileName = QtGui.QFileDialog.getOpenFileName(self.window,
- "Open Background Image", backgroundDir, "Image Files (*.jpg *.png)");
+ "Open Background Image", backgroundDir, "Image Files (*.jpg *.png);; Videos (*.mp4)");
- if not fileName == "":
+ if not fileName == "":
self.settings.setValue("backgroundDir", os.path.dirname(fileName))
self.window.label_background.setText(fileName)
self.drawPreview()
@@ -147,7 +147,7 @@ class Main(QtCore.QObject):
self.videoWorker.moveToThread(self.videoThread)
self.videoWorker.videoCreated.connect(self.videoCreated)
self.videoWorker.progressBarUpdate.connect(self.progressBarUpdated)
-
+
self.videoThread.start()
self.videoTask.emit(self.window.label_background.text(),
self.window.lineEdit_title.text(),
@@ -158,7 +158,7 @@ class Main(QtCore.QObject):
self.window.textYSpinBox.value(),
self.window.label_input.text(),
self.window.label_output.text())
-
+
def progressBarUpdated(self, value):
self.window.progressBar_create.setValue(value)
@@ -186,7 +186,7 @@ class Main(QtCore.QObject):
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
window = uic.loadUi("main.ui")
-
+
main = Main(window)
atexit.register(main.cleanUp)
--
cgit v1.2.3
From 898ac591e36a0d959db8c34fb6c5960a7eee9789 Mon Sep 17 00:00:00 2001
From: tassaron
Date: Thu, 18 May 2017 19:48:52 -0400
Subject: added back in spaces deleted by my editor
---
main.py | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
(limited to 'main.py')
diff --git a/main.py b/main.py
index 391e4f6..69a01dd 100644
--- a/main.py
+++ b/main.py
@@ -35,13 +35,13 @@ class Main(QtCore.QObject):
self.previewWorker.moveToThread(self.previewThread)
self.previewWorker.imageCreated.connect(self.showPreviewImage)
-
+
self.previewThread.start()
self.timer = QtCore.QTimer(self)
self.timer.timeout.connect(self.processTask.emit)
self.timer.start(500)
-
+
window.pushButton_selectInput.clicked.connect(self.openInputFileDialog)
window.pushButton_selectOutput.clicked.connect(self.openOutputFileDialog)
window.pushButton_createVideo.clicked.connect(self.createAudioVisualisation)
@@ -69,7 +69,7 @@ class Main(QtCore.QObject):
window.textYSpinBox.setValue(375)
titleFont = self.settings.value("titleFont")
- if not titleFont == None:
+ if not titleFont == None:
window.fontComboBox.setCurrentFont(QFont(titleFont))
alignment = self.settings.value("alignment")
@@ -113,7 +113,7 @@ class Main(QtCore.QObject):
fileName = QtGui.QFileDialog.getOpenFileName(self.window,
"Open Music File", inputDir, "Music Files (*.mp3 *.wav *.ogg *.flac)");
- if not fileName == "":
+ if not fileName == "":
self.settings.setValue("inputDir", os.path.dirname(fileName))
self.window.label_input.setText(fileName)
@@ -123,7 +123,7 @@ class Main(QtCore.QObject):
fileName = QtGui.QFileDialog.getSaveFileName(self.window,
"Set Output Video File", outputDir, "Video Files (*.mkv)");
- if not fileName == "":
+ if not fileName == "":
self.settings.setValue("outputDir", os.path.dirname(fileName))
self.window.label_output.setText(fileName)
@@ -131,9 +131,9 @@ class Main(QtCore.QObject):
backgroundDir = self.settings.value("backgroundDir", expanduser("~"))
fileName = QtGui.QFileDialog.getOpenFileName(self.window,
- "Open Background Image", backgroundDir, "Image Files (*.jpg *.png);; Videos (*.mp4)");
+ "Open Background Image", backgroundDir, "Image Files (*.jpg *.png);; Video Files (*.mp4)");
- if not fileName == "":
+ if not fileName == "":
self.settings.setValue("backgroundDir", os.path.dirname(fileName))
self.window.label_background.setText(fileName)
self.drawPreview()
@@ -147,7 +147,7 @@ class Main(QtCore.QObject):
self.videoWorker.moveToThread(self.videoThread)
self.videoWorker.videoCreated.connect(self.videoCreated)
self.videoWorker.progressBarUpdate.connect(self.progressBarUpdated)
-
+
self.videoThread.start()
self.videoTask.emit(self.window.label_background.text(),
self.window.lineEdit_title.text(),
@@ -158,7 +158,7 @@ class Main(QtCore.QObject):
self.window.textYSpinBox.value(),
self.window.label_input.text(),
self.window.label_output.text())
-
+
def progressBarUpdated(self, value):
self.window.progressBar_create.setValue(value)
@@ -186,7 +186,7 @@ class Main(QtCore.QObject):
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
window = uic.loadUi("main.ui")
-
+
main = Main(window)
atexit.register(main.cleanUp)
--
cgit v1.2.3
From e77199219521ab819730574c17a819c7e2bfe84d Mon Sep 17 00:00:00 2001
From: tassaron
Date: Sun, 21 May 2017 22:44:48 -0400
Subject: more loading feedback
---
main.py | 4 ++++
main.ui | 5 ++++-
video_thread.py | 15 ++++++++++-----
3 files changed, 18 insertions(+), 6 deletions(-)
(limited to 'main.py')
diff --git a/main.py b/main.py
index 69a01dd..ac7acbc 100644
--- a/main.py
+++ b/main.py
@@ -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()
diff --git a/main.ui b/main.ui
index 5b71d1c..c500905 100644
--- a/main.ui
+++ b/main.ui
@@ -386,7 +386,10 @@
24
- false
+ true
+
+
+ Qt::AlignCenter
diff --git a/video_thread.py b/video_thread.py
index 1c466fc..bd832be 100644
--- a/video_thread.py
+++ b/video_thread.py
@@ -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()
--
cgit v1.2.3