aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mainwindow.py36
-rw-r--r--video_thread.py5
2 files changed, 25 insertions, 16 deletions
diff --git a/mainwindow.py b/mainwindow.py
index 78a54be..f722158 100644
--- a/mainwindow.py
+++ b/mainwindow.py
@@ -1,4 +1,3 @@
-from os.path import expanduser
from queue import Queue
from PyQt4 import QtCore, QtGui, uic
from PyQt4.QtCore import QSettings, Qt
@@ -189,11 +188,15 @@ class MainWindow(QtCore.QObject):
# Configure the Projects Menu
self.projectMenu = QMenu()
- self.ui_newProject = self.projectMenu.addAction("New Project")
- self.ui_newProject.triggered[()].connect(self.createNewProject)
+ self.window.menuButton_newProject = self.projectMenu.addAction(
+ "New Project")
+ self.window.menuButton_newProject.triggered[()].connect(
+ self.createNewProject)
- self.ui_openProject = self.projectMenu.addAction("Open Project")
- self.ui_openProject.triggered[()].connect(self.openOpenProjectDialog)
+ self.window.menuButton_openProject = self.projectMenu.addAction(
+ "Open Project")
+ self.window.menuButton_openProject.triggered[()].connect(
+ self.openOpenProjectDialog)
action = self.projectMenu.addAction("Save Project")
action.triggered[()].connect(self.saveCurrentProject)
@@ -314,18 +317,18 @@ class MainWindow(QtCore.QObject):
os.rename(self.autosavePath, self.currentProject)
def openInputFileDialog(self):
- inputDir = self.settings.value("inputDir", expanduser("~"))
+ inputDir = self.settings.value("inputDir", os.path.expanduser("~"))
fileName = QtGui.QFileDialog.getOpenFileName(
- self.window, "Open Music File",
- inputDir, "Music Files (%s)" % " ".join(self.core.audioFormats))
+ self.window, "Open Audio File",
+ inputDir, "Audio Files (%s)" % " ".join(self.core.audioFormats))
if not fileName == "":
self.settings.setValue("inputDir", os.path.dirname(fileName))
self.window.lineEdit_audioFile.setText(fileName)
def openOutputFileDialog(self):
- outputDir = self.settings.value("outputDir", expanduser("~"))
+ outputDir = self.settings.value("outputDir", os.path.expanduser("~"))
fileName = QtGui.QFileDialog.getSaveFileName(
self.window, "Set Output Video File",
@@ -347,7 +350,6 @@ class MainWindow(QtCore.QObject):
self.window.lineEdit_outputFile.text():
self.canceled = False
self.progressBarUpdated(-1)
- ffmpeg_cmd = self.settings.value("ffmpeg_cmd", expanduser("~"))
self.videoThread = QtCore.QThread(self)
self.videoWorker = video_thread.Worker(self)
self.videoWorker.moveToThread(self.videoThread)
@@ -358,9 +360,13 @@ class MainWindow(QtCore.QObject):
self.videoWorker.imageCreated.connect(self.showPreviewImage)
self.videoWorker.encoding.connect(self.changeEncodingStatus)
self.videoThread.start()
+ outputPath = self.window.lineEdit_outputFile.text()
+ if not os.path.dirname(outputPath):
+ outputPath = os.path.join(
+ os.path.expanduser("~"), outputPath)
self.videoTask.emit(
self.window.lineEdit_audioFile.text(),
- self.window.lineEdit_outputFile.text(),
+ outputPath,
self.core.selectedComponents)
else:
self.showMessage(
@@ -384,8 +390,8 @@ class MainWindow(QtCore.QObject):
self.window.pushButton_listMoveDown.setEnabled(False)
self.window.pushButton_listMoveUp.setEnabled(False)
self.window.listWidget_componentList.setEnabled(False)
- self.ui_newProject.setEnabled(False)
- self.ui_openProject.setEnabled(False)
+ self.window.menuButton_newProject.setEnabled(False)
+ self.window.menuButton_openProject.setEnabled(False)
else:
self.window.pushButton_createVideo.setEnabled(True)
self.window.pushButton_Cancel.setEnabled(False)
@@ -403,8 +409,8 @@ class MainWindow(QtCore.QObject):
self.window.pushButton_listMoveDown.setEnabled(True)
self.window.pushButton_listMoveUp.setEnabled(True)
self.window.listWidget_componentList.setEnabled(True)
- self.ui_newProject.setEnabled(True)
- self.ui_openProject.setEnabled(True)
+ self.window.menuButton_newProject.setEnabled(True)
+ self.window.menuButton_openProject.setEnabled(True)
def progressBarUpdated(self, value):
self.window.progressBar_createVideo.setValue(value)
diff --git a/video_thread.py b/video_thread.py
index fc877bd..d7220f1 100644
--- a/video_thread.py
+++ b/video_thread.py
@@ -116,6 +116,7 @@ class Worker(QtCore.QObject):
for cont in options['containers']:
if cont['name'] == containerName:
container = cont['container']
+ break
vencoders = options['video-codecs'][vcodec]
aencoders = options['audio-codecs'][acodec]
@@ -222,13 +223,15 @@ class Worker(QtCore.QObject):
if not self.canceled:
for i in range(0, len(self.completeAudioArray), self.sampleSize):
while True:
- if i in frameBuffer:
+ if i in frameBuffer or self.canceled:
# if frame's in buffer, pipe it to ffmpeg
break
# else fetch the next frame & add to the buffer
data = self.renderQueue.get()
frameBuffer[data[0]] = data[1]
self.renderQueue.task_done()
+ if self.canceled:
+ break
try:
self.out_pipe.stdin.write(frameBuffer[i].tobytes())