diff options
| author | DH4 | 2017-05-27 14:32:08 -0500 |
|---|---|---|
| committer | DH4 | 2017-05-27 14:32:08 -0500 |
| commit | fe13268a841d3b4d45f33359abb81993d990772c (patch) | |
| tree | f932dbcc0d67aa8d0a1fec4333313840f8c643d7 | |
| parent | 86c6ac87627365e8ea30f84420c3ac97f0a597ea (diff) | |
Created a new UI, several new features to be implemented. FIXME: Resolution change requires an application restart.
| -rw-r--r-- | core.py | 15 | ||||
| -rw-r--r-- | main.py | 151 | ||||
| -rw-r--r-- | main.ui | 38 | ||||
| -rw-r--r-- | mainwindow.ui | 1120 | ||||
| -rw-r--r-- | preview_thread.py | 7 |
5 files changed, 1219 insertions, 112 deletions
@@ -112,8 +112,19 @@ class Core(): im = Image.new("RGB", (int(self.settings.value('outputWidth')), int(self.settings.value('outputHeight'))), "black") im.paste(image, (0, 0)) - im.paste(imTop, (0, 0), mask=imTop) - im.paste(imBottom, (0, int(vH+bF*1.8)), mask=imBottom) + + layout = int(self.settings.value('visLayout')) + + if layout == 0: + im.paste(imTop, (0, 0), mask=imTop) + im.paste(imBottom, (0, int(vH+bF*1.8)), mask=imBottom) + + if layout == 1: + im.paste(imTop, (0, int(height+bF*1.5)), mask=imTop) + im.paste(imBottom, (0, int(0-bF*1.5)), mask=imBottom) + + if layout == 2: + im.paste(imTop, (0, int(height+bF*1.5)), mask=imTop) return im @@ -139,36 +139,37 @@ class Main(QtCore.QObject): 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) - window.pushButton_selectBackground.clicked.connect(self.openBackgroundFileDialog) - window.progressBar_create.setValue(0) + window.toolButton_selectAudioFile.clicked.connect(self.openInputFileDialog) + window.toolButton_selectBackground.clicked.connect(self.openBackgroundFileDialog) + window.toolButton_selectOutputFile.clicked.connect(self.openOutputFileDialog) + window.progressBar_createVideo.setValue(0) + window.pushButton_createVideo.clicked.connect(self.createAudioVisualisation) window.setWindowTitle("Audio Visualizer") - window.pushButton_selectInput.setText("Select Input Music File") - window.pushButton_selectOutput.setText("Select Output Video File") - window.pushButton_selectBackground.setText("Select Background Image") - window.label_font.setText("Title Font") - window.label_alignment.setText("Title Options") - window.label_colorOptions.setText("Colors") - window.label_fontsize.setText("Fontsize") - window.label_title.setText("Title Text") - window.label_textColor.setText("Text:") - window.label_visColor.setText("Visualizer:") - window.pushButton_createVideo.setText("Create Video") - window.groupBox_create.setTitle("Create") - window.groupBox_settings.setTitle("Settings") - window.groupBox_preview.setTitle("Preview") - - window.alignmentComboBox.addItem("Left") - window.alignmentComboBox.addItem("Middle") - window.alignmentComboBox.addItem("Right") - window.alignmentComboBox.setCurrentIndex(1) - window.fontsizeSpinBox.setValue(int(int(self.settings.value("outputHeight")) / 14 )) - window.textXSpinBox.setValue(int(int(self.settings.value('outputWidth'))/2)) - window.textYSpinBox.setValue(int(int(self.settings.value('outputHeight'))/2)) + window.comboBox_textAlign.addItem("Left") + window.comboBox_textAlign.addItem("Middle") + window.comboBox_textAlign.addItem("Right") + window.comboBox_textAlign.setCurrentIndex(1) + + window.comboBox_visLayout.addItem("Classic") + window.comboBox_visLayout.addItem("Split") + window.comboBox_visLayout.addItem("Bottom") + visLayoutValue = int(self.settings.value('visLayout')) + window.comboBox_visLayout.setCurrentIndex(visLayoutValue) + + currentRes = self.settings.value('outputWidth')+'x'+self.settings.value('outputHeight') + for i, res in enumerate(self.resolutions): + window.comboBox_resolution.addItem(res) + if res == currentRes: + currentRes = i + window.comboBox_resolution.setCurrentIndex(currentRes) + window.comboBox_resolution.currentIndexChanged.connect(self.updateResolution) + + # FIXME This needs to be changed in a future commit. + # We should be setting these values somewhere else. + window.spinBox_fontSize.setValue(int(int(self.settings.value("outputHeight")) / 14 )) + window.spinBox_xTextAlign.setValue(int(int(self.settings.value('outputWidth'))/2)) + window.spinBox_yTextAlign.setValue(int(int(self.settings.value('outputHeight'))/2)) window.lineEdit_textColor.setText('%s,%s,%s' % self.textColor) window.lineEdit_visColor.setText('%s,%s,%s' % self.visColor) @@ -181,30 +182,31 @@ class Main(QtCore.QObject): titleFont = self.settings.value("titleFont") if not titleFont == None: - window.fontComboBox.setCurrentFont(QFont(titleFont)) + window.fontComboBox_titleFont.setCurrentFont(QFont(titleFont)) alignment = self.settings.value("alignment") if not alignment == None: - window.alignmentComboBox.setCurrentIndex(int(alignment)) + window.comboBox_textAlign.setCurrentIndex(int(alignment)) fontSize = self.settings.value("fontSize") if not fontSize == None: - window.fontsizeSpinBox.setValue(int(fontSize)) + window.spinBox_fontSize.setValue(int(fontSize)) xPosition = self.settings.value("xPosition") if not xPosition == None: - window.textXSpinBox.setValue(int(xPosition)) + window.spinBox_xTextAlign.setValue(int(xPosition)) yPosition = self.settings.value("yPosition") if not yPosition == None: - window.textYSpinBox.setValue(int(yPosition)) + window.spinBox_yTextAlign.setValue(int(yPosition)) - window.fontComboBox.currentFontChanged.connect(self.drawPreview) + window.fontComboBox_titleFont.currentFontChanged.connect(self.drawPreview) window.lineEdit_title.textChanged.connect(self.drawPreview) - window.alignmentComboBox.currentIndexChanged.connect(self.drawPreview) - window.textXSpinBox.valueChanged.connect(self.drawPreview) - window.textYSpinBox.valueChanged.connect(self.drawPreview) - window.fontsizeSpinBox.valueChanged.connect(self.drawPreview) + window.comboBox_textAlign.currentIndexChanged.connect(self.drawPreview) + window.comboBox_visLayout.currentIndexChanged.connect(self.drawPreview) + window.spinBox_xTextAlign.valueChanged.connect(self.drawPreview) + window.spinBox_yTextAlign.valueChanged.connect(self.drawPreview) + window.spinBox_fontSize.valueChanged.connect(self.drawPreview) window.lineEdit_textColor.textChanged.connect(self.drawPreview) window.lineEdit_visColor.textChanged.connect(self.drawPreview) - + self.drawPreview() window.show() @@ -214,11 +216,11 @@ class Main(QtCore.QObject): self.previewThread.quit() self.previewThread.wait() - self.settings.setValue("titleFont", self.window.fontComboBox.currentFont().toString()) - self.settings.setValue("alignment", str(self.window.alignmentComboBox.currentIndex())) - self.settings.setValue("fontSize", str(self.window.fontsizeSpinBox.value())) - self.settings.setValue("xPosition", str(self.window.textXSpinBox.value())) - self.settings.setValue("yPosition", str(self.window.textYSpinBox.value())) + self.settings.setValue("titleFont", self.window.fontComboBox_titleFont.currentFont().toString()) + self.settings.setValue("alignment", str(self.window.comboBox_textAlign.currentIndex())) + self.settings.setValue("fontSize", str(self.window.spinBox_fontSize.value())) + self.settings.setValue("xPosition", str(self.window.spinBox_xTextAlign.value())) + self.settings.setValue("yPosition", str(self.window.spinBox_yTextAlign.value())) self.settings.setValue("visColor", self.window.lineEdit_visColor.text()) self.settings.setValue("textColor", self.window.lineEdit_textColor.text()) @@ -230,7 +232,7 @@ class Main(QtCore.QObject): if not fileName == "": self.settings.setValue("inputDir", os.path.dirname(fileName)) - self.window.label_input.setText(fileName) + self.window.lineEdit_audioFile.setText(fileName) def openOutputFileDialog(self): outputDir = self.settings.value("outputDir", expanduser("~")) @@ -240,7 +242,7 @@ class Main(QtCore.QObject): if not fileName == "": self.settings.setValue("outputDir", os.path.dirname(fileName)) - self.window.label_output.setText(fileName) + self.window.lineEdit_outputFile.setText(fileName) def openBackgroundFileDialog(self): backgroundDir = self.settings.value("backgroundDir", expanduser("~")) @@ -250,7 +252,7 @@ class Main(QtCore.QObject): if not fileName == "": self.settings.setValue("backgroundDir", os.path.dirname(fileName)) - self.window.label_background.setText(fileName) + self.window.lineEdit_background.setText(fileName) self.drawPreview() def createAudioVisualisation(self): @@ -265,37 +267,45 @@ class Main(QtCore.QObject): self.videoWorker.progressBarSetText.connect(self.progressBarSetText) self.videoThread.start() - self.videoTask.emit(self.window.label_background.text(), + self.videoTask.emit(self.window.lineEdit_background.text(), self.window.lineEdit_title.text(), - self.window.fontComboBox.currentFont(), - self.window.fontsizeSpinBox.value(), - self.window.alignmentComboBox.currentIndex(), - self.window.textXSpinBox.value(), - self.window.textYSpinBox.value(), + self.window.fontComboBox_titleFont.currentFont(), + self.window.spinBox_fontSize.value(), + self.window.comboBox_textAlign.currentIndex(), + self.window.spinBox_xTextAlign.value(), + self.window.spinBox_yTextAlign.value(), core.Core.RGBFromString(self.window.lineEdit_textColor.text()), core.Core.RGBFromString(self.window.lineEdit_visColor.text()), - self.window.label_input.text(), - self.window.label_output.text()) + self.window.lineEdit_audioFile.text(), + self.window.lineEdit_outputFile.text()) def progressBarUpdated(self, value): - self.window.progressBar_create.setValue(value) + self.window.progressBar_createVideo.setValue(value) def progressBarSetText(self, value): - self.window.progressBar_create.setFormat(value) + self.window.progressBar_createVideo.setFormat(value) def videoCreated(self): self.videoThread.quit() self.videoThread.wait() + def updateResolution(self): + resIndex = int(window.comboBox_resolution.currentIndex()) + res = self.resolutions[resIndex].split('x') + self.settings.setValue('outputWidth',res[0]) + self.settings.setValue('outputHeight',res[1]) + self.drawPreview + def drawPreview(self): - self.newTask.emit(self.window.label_background.text(), + self.settings.setValue('visLayout', self.window.comboBox_visLayout.currentIndex()) + self.newTask.emit(self.window.lineEdit_background.text(), self.window.lineEdit_title.text(), - self.window.fontComboBox.currentFont(), - self.window.fontsizeSpinBox.value(), - self.window.alignmentComboBox.currentIndex(), - self.window.textXSpinBox.value(), - self.window.textYSpinBox.value(), + self.window.fontComboBox_titleFont.currentFont(), + self.window.spinBox_fontSize.value(), + self.window.comboBox_textAlign.currentIndex(), + self.window.spinBox_xTextAlign.value(), + self.window.spinBox_yTextAlign.value(), core.Core.RGBFromString(self.window.lineEdit_textColor.text()), core.Core.RGBFromString(self.window.lineEdit_visColor.text())) # self.processTask.emit() @@ -304,7 +314,7 @@ class Main(QtCore.QObject): self._scaledPreviewImage = image self._previewPixmap = QtGui.QPixmap.fromImage(self._scaledPreviewImage) - self.window.label_preview.setPixmap(self._previewPixmap) + self.window.label_previewContainer.setPixmap(self._previewPixmap) def pickColor(self, colorTarget): color = QtGui.QColorDialog.getColor() @@ -319,6 +329,12 @@ class Main(QtCore.QObject): window.pushButton_visColor.setStyleSheet(btnStyle) def LoadDefaultSettings(self): + self.resolutions = [ + '1920x1080', + '1280x720', + '854x480' + ] + default = { "outputWidth": 1280, "outputHeight": 720, @@ -328,7 +344,8 @@ def LoadDefaultSettings(self): "outputVideoCodec": "libx264", "outputVideoFormat": "yuv420p", "outputPreset": "medium", - "outputFormat": "mp4" + "outputFormat": "mp4", + "visLayout": 0 } for parm, value in default.items(): @@ -345,12 +362,12 @@ else: # gui mode if __name__ == "__main__": app = QtGui.QApplication(sys.argv) - window = uic.loadUi("main.ui") + window = uic.loadUi("mainwindow.ui") # window.adjustSize() desc = QtGui.QDesktopWidget() dpi = desc.physicalDpiX() + topMargin = 0 if (dpi == 96) else int(10 * (dpi / 96)) - window.resize(window.width() * (dpi / 96), window.height() * (dpi / 96)) window.verticalLayout_2.setContentsMargins(0, topMargin, 0, 0) @@ -374,25 +374,6 @@ </widget> </item> <item> - <widget class="QPushButton" name="pushButton_textColor"> - <property name="maximumSize"> - <size> - <width>32</width> - <height>32</height> - </size> - </property> - <property name="text"> - <string/> - </property> - <property name="MaximumSize" stdset="0"> - <size> - <width>32</width> - <height>32</height> - </size> - </property> - </widget> - </item> - <item> <widget class="QLineEdit" name="lineEdit_textColor"/> </item> <item> @@ -406,25 +387,6 @@ </widget> </item> <item> - <widget class="QPushButton" name="pushButton_visColor"> - <property name="maximumSize"> - <size> - <width>32</width> - <height>32</height> - </size> - </property> - <property name="text"> - <string/> - </property> - <property name="MaximumSize" stdset="0"> - <size> - <width>32</width> - <height>32</height> - </size> - </property> - </widget> - </item> - <item> <widget class="QLineEdit" name="lineEdit_visColor"/> </item> </layout> diff --git a/mainwindow.ui b/mainwindow.ui new file mode 100644 index 0000000..3dbb817 --- /dev/null +++ b/mainwindow.ui @@ -0,0 +1,1120 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>MainWindow</class> + <widget class="QMainWindow" name="MainWindow"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>1139</width> + <height>658</height> + </rect> + </property> + <property name="windowTitle"> + <string>MainWindow</string> + </property> + <widget class="QWidget" name="centralwidget"> + <property name="autoFillBackground"> + <bool>false</bool> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <property name="leftMargin"> + <number>9</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <property name="topMargin"> + <number>0</number> + </property> + <item> + <spacer name="verticalSpacer_6"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Minimum</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>0</width> + <height>0</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QLabel" name="label_previewContainer"> + <property name="sizePolicy"> + <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>356</width> + <height>280</height> + </size> + </property> + <property name="sizeIncrement"> + <size> + <width>0</width> + <height>0</height> + </size> + </property> + <property name="autoFillBackground"> + <bool>false</bool> + </property> + <property name="styleSheet"> + <string notr="true">background-color:rgba(255, 255, 255, 15); +</string> + </property> + <property name="text"> + <string/> + </property> + <property name="scaledContents"> + <bool>true</bool> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + </widget> + </item> + <item> + <spacer name="verticalSpacer_5"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Minimum</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>0</width> + <height>0</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + <item> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <property name="leftMargin"> + <number>3</number> + </property> + <item> + <widget class="QListView" name="listView_componentList"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Minimum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>280</width> + <height>200</height> + </size> + </property> + <property name="styleSheet"> + <string notr="true"/> + </property> + <property name="verticalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOn</enum> + </property> + <property name="horizontalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QVBoxLayout" name="verticalLayout_4"> + <property name="leftMargin"> + <number>3</number> + </property> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_16"> + <item> + <widget class="QPushButton" name="pushButton_openProject"> + <property name="text"> + <string>Open Project</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="pushButton_saveProject"> + <property name="text"> + <string>Save Project</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Fixed</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>10</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QComboBox" name="comboBox_componentSelection"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>280</width> + <height>0</height> + </size> + </property> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_14"> + <item> + <widget class="QPushButton" name="pushButton_addComponent"> + <property name="text"> + <string>Add Component</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="pushButton_removeComponent"> + <property name="text"> + <string>Remove Component</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <spacer name="verticalSpacer_2"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_15"> + <item> + <widget class="QPushButton" name="pushButton_openPreset"> + <property name="text"> + <string>Open Preset</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="pushButton_savePreset"> + <property name="text"> + <string>Save Preset</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <property name="sizeConstraint"> + <enum>QLayout::SetFixedSize</enum> + </property> + <property name="topMargin"> + <number>4</number> + </property> + <item> + <layout class="QVBoxLayout" name="verticalLayout_8"> + <property name="spacing"> + <number>8</number> + </property> + <property name="rightMargin"> + <number>8</number> + </property> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_4"> + <property name="topMargin"> + <number>0</number> + </property> + <item> + <widget class="QLabel" name="label_audioFile"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>100</width> + <height>0</height> + </size> + </property> + <property name="baseSize"> + <size> + <width>80</width> + <height>0</height> + </size> + </property> + <property name="text"> + <string>Audio File</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="lineEdit_audioFile"> + <property name="sizePolicy"> + <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>340</width> + <height>28</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>28</height> + </size> + </property> + <property name="baseSize"> + <size> + <width>0</width> + <height>0</height> + </size> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="toolButton_selectAudioFile"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>28</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>28</height> + </size> + </property> + <property name="text"> + <string>...</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_5"> + <item> + <widget class="QLabel" name="label_background"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>100</width> + <height>0</height> + </size> + </property> + <property name="text"> + <string>Background</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="lineEdit_background"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>28</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>28</height> + </size> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="toolButton_selectBackground"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>28</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>28</height> + </size> + </property> + <property name="text"> + <string>...</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_6"> + <item> + <widget class="QLabel" name="label_outputFile"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>100</width> + <height>0</height> + </size> + </property> + <property name="baseSize"> + <size> + <width>0</width> + <height>0</height> + </size> + </property> + <property name="text"> + <string>Output File</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="lineEdit_outputFile"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>28</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>28</height> + </size> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="toolButton_selectOutputFile"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>28</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>28</height> + </size> + </property> + <property name="text"> + <string>...</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_13"> + <item> + <widget class="QLabel" name="label_videoFormat"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>98</width> + <height>0</height> + </size> + </property> + <property name="text"> + <string>Video Format</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="comboBox_videoFormat"/> + </item> + <item> + <widget class="QLabel" name="label_videoPreset"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Video Preset</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="comboBox_videoPreset"/> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_10"> + <item> + <widget class="QLabel" name="label_videoCodec"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>98</width> + <height>0</height> + </size> + </property> + <property name="text"> + <string>Video Codec</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="comboBox_videoCodec"> + <property name="minimumSize"> + <size> + <width>150</width> + <height>0</height> + </size> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer_4"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Fixed</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>5</width> + <height>5</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QLabel" name="label_resolution"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Resolution</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="comboBox_resolution"/> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_11"> + <item> + <widget class="QLabel" name="label_audioCodec"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>98</width> + <height>0</height> + </size> + </property> + <property name="text"> + <string>Audio Codec</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="comboBox_audioCodec"> + <property name="minimumSize"> + <size> + <width>150</width> + <height>0</height> + </size> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer_3"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Fixed</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>5</width> + <height>10</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QLabel" name="label_audioBitrate"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Bitrate</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="comboBox_bitrate"/> + </item> + </layout> + </item> + <item> + <spacer name="verticalSpacer_3"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Maximum</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + <item> + <widget class="QStackedWidget" name="stackedWidget"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="styleSheet"> + <string notr="true"/> + </property> + <property name="currentIndex"> + <number>0</number> + </property> + <widget class="QWidget" name="page_titleComponent"> + <layout class="QVBoxLayout" name="verticalLayout_5"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_7"> + <property name="leftMargin"> + <number>0</number> + </property> + <item> + <widget class="QLabel" name="label_title"> + <property name="text"> + <string>Title</string> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="lineEdit_title"> + <property name="sizePolicy"> + <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>300</width> + <height>0</height> + </size> + </property> + <property name="text"> + <string>Testing New GUI</string> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer_6"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Fixed</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>5</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QLabel" name="label_xTitleAlign"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>X</string> + </property> + </widget> + </item> + <item> + <widget class="QSpinBox" name="spinBox_xTextAlign"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="maximumSize"> + <size> + <width>80</width> + <height>16777215</height> + </size> + </property> + <property name="baseSize"> + <size> + <width>0</width> + <height>0</height> + </size> + </property> + <property name="minimum"> + <number>0</number> + </property> + <property name="maximum"> + <number>999999999</number> + </property> + <property name="value"> + <number>0</number> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer_7"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Fixed</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>5</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QLabel" name="label_yTitleAlign"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Y</string> + </property> + </widget> + </item> + <item> + <widget class="QSpinBox" name="spinBox_yTextAlign"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="maximumSize"> + <size> + <width>80</width> + <height>16777215</height> + </size> + </property> + <property name="maximum"> + <number>999999999</number> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_8"> + <item> + <widget class="QLabel" name="label"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Font</string> + </property> + </widget> + </item> + <item> + <widget class="QFontComboBox" name="fontComboBox_titleFont"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>140</width> + <height>0</height> + </size> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer_8"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Fixed</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>5</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QLabel" name="label_fontSize"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Font Size</string> + </property> + </widget> + </item> + <item> + <widget class="QSpinBox" name="spinBox_fontSize"> + <property name="maximum"> + <number>500</number> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_12"> + <item> + <widget class="QLabel" name="label_textLayout"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Text Layout</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="comboBox_textAlign"/> + </item> + <item> + <spacer name="horizontalSpacer_2"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Fixed</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>5</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QLabel" name="label_textColor"> + <property name="text"> + <string>Text Color</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="pushButton_textColor"> + <property name="maximumSize"> + <size> + <width>32</width> + <height>32</height> + </size> + </property> + <property name="text"> + <string/> + </property> + <property name="MaximumSize" stdset="0"> + <size> + <width>32</width> + <height>32</height> + </size> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="lineEdit_textColor"/> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_9"> + <item> + <widget class="QLabel" name="label_visLayout"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Visualizer Layout</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="comboBox_visLayout"/> + </item> + <item> + <spacer name="horizontalSpacer_5"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Fixed</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>5</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QLabel" name="label_visColor"> + <property name="text"> + <string>Visulizer Color</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="pushButton_visColor"> + <property name="maximumSize"> + <size> + <width>32</width> + <height>32</height> + </size> + </property> + <property name="text"> + <string/> + </property> + <property name="MaximumSize" stdset="0"> + <size> + <width>32</width> + <height>32</height> + </size> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="lineEdit_visColor"/> + </item> + </layout> + </item> + <item> + <spacer name="verticalSpacer_4"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Minimum</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>80</height> + </size> + </property> + </spacer> + </item> + </layout> + <zorder></zorder> + <zorder></zorder> + <zorder>verticalSpacer_4</zorder> + </widget> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_3"> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>20</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <widget class="QProgressBar" name="progressBar_createVideo"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>0</height> + </size> + </property> + <property name="value"> + <number>24</number> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Minimum</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>10</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QPushButton" name="pushButton_createVideo"> + <property name="text"> + <string>Create video</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="pushButton_Cancel"> + <property name="text"> + <string>Cancel</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <widget class="QStatusBar" name="statusbar"/> + </widget> + <resources/> + <connections/> +</ui> diff --git a/preview_thread.py b/preview_thread.py index 8195712..593a70f 100644 --- a/preview_thread.py +++ b/preview_thread.py @@ -71,10 +71,7 @@ class Worker(QtCore.QObject): im = self.core.drawBars(spectrum, im, nextPreviewInformation["visColor"]) self._image = ImageQt(im) - self._previewImage = QtGui.QImage(self._image) - - self._scaledPreviewImage = self._previewImage.scaled(320, 180, QtCore.Qt.IgnoreAspectRatio, QtCore.Qt.SmoothTransformation) - - self.imageCreated.emit(self._scaledPreviewImage) + self.imageCreated.emit(QtGui.QImage(self._image)) + except Empty: True |
