Bitrate works correctly and set/save window size

This commit is contained in:
Jack 2024-09-16 19:23:24 -04:00
parent 936e914ffb
commit b2ee0e0d53
5 changed files with 98 additions and 96 deletions

View File

@ -45,26 +45,26 @@ class Ui_TinyblastOptions(object):
font.setPointSize(28) font.setPointSize(28)
font.setBold(True) font.setBold(True)
self.Title.setFont(font) self.Title.setFont(font)
self.Title.setAlignment(Qt.AlignCenter) self.Title.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.verticalLayout.addWidget(self.Title) self.verticalLayout.addWidget(self.Title)
self.scrollArea = QScrollArea(self.centralwidget) self.scrollArea = QScrollArea(self.centralwidget)
self.scrollArea.setObjectName(u"scrollArea") self.scrollArea.setObjectName(u"scrollArea")
self.scrollArea.setFrameShape(QFrame.Box) self.scrollArea.setFrameShape(QFrame.Shape.Box)
self.scrollArea.setFrameShadow(QFrame.Sunken) self.scrollArea.setFrameShadow(QFrame.Shadow.Sunken)
self.scrollArea.setSizeAdjustPolicy(QAbstractScrollArea.AdjustIgnored) self.scrollArea.setSizeAdjustPolicy(QAbstractScrollArea.SizeAdjustPolicy.AdjustIgnored)
self.scrollArea.setWidgetResizable(True) self.scrollArea.setWidgetResizable(True)
self.scrollAreaWidgetContents = QWidget() self.scrollAreaWidgetContents = QWidget()
self.scrollAreaWidgetContents.setObjectName(u"scrollAreaWidgetContents") self.scrollAreaWidgetContents.setObjectName(u"scrollAreaWidgetContents")
self.scrollAreaWidgetContents.setGeometry(QRect(0, 0, 533, 295)) self.scrollAreaWidgetContents.setGeometry(QRect(0, 0, 533, 296))
self.verticalLayout_3 = QVBoxLayout(self.scrollAreaWidgetContents) self.verticalLayout_3 = QVBoxLayout(self.scrollAreaWidgetContents)
self.verticalLayout_3.setObjectName(u"verticalLayout_3") self.verticalLayout_3.setObjectName(u"verticalLayout_3")
self.gridLayout = QGridLayout() self.gridLayout = QGridLayout()
self.gridLayout.setObjectName(u"gridLayout") self.gridLayout.setObjectName(u"gridLayout")
self.filePathLabel = QLabel(self.scrollAreaWidgetContents) self.filePathLabel = QLabel(self.scrollAreaWidgetContents)
self.filePathLabel.setObjectName(u"filePathLabel") self.filePathLabel.setObjectName(u"filePathLabel")
self.filePathLabel.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) self.filePathLabel.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter)
self.gridLayout.addWidget(self.filePathLabel, 10, 0, 1, 1) self.gridLayout.addWidget(self.filePathLabel, 10, 0, 1, 1)
@ -72,7 +72,7 @@ class Ui_TinyblastOptions(object):
self.qualitySlider.setObjectName(u"qualitySlider") self.qualitySlider.setObjectName(u"qualitySlider")
self.qualitySlider.setMaximum(100) self.qualitySlider.setMaximum(100)
self.qualitySlider.setSliderPosition(50) self.qualitySlider.setSliderPosition(50)
self.qualitySlider.setOrientation(Qt.Horizontal) self.qualitySlider.setOrientation(Qt.Orientation.Horizontal)
self.gridLayout.addWidget(self.qualitySlider, 2, 2, 1, 2) self.gridLayout.addWidget(self.qualitySlider, 2, 2, 1, 2)
@ -90,14 +90,13 @@ class Ui_TinyblastOptions(object):
self.encodingLabel = QLabel(self.scrollAreaWidgetContents) self.encodingLabel = QLabel(self.scrollAreaWidgetContents)
self.encodingLabel.setObjectName(u"encodingLabel") self.encodingLabel.setObjectName(u"encodingLabel")
self.encodingLabel.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) self.encodingLabel.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter)
self.gridLayout.addWidget(self.encodingLabel, 1, 0, 1, 1) self.gridLayout.addWidget(self.encodingLabel, 1, 0, 1, 1)
self.displaySizeComboBox = QComboBox(self.scrollAreaWidgetContents) self.displaySizeComboBox = QComboBox(self.scrollAreaWidgetContents)
self.displaySizeComboBox.addItem("") self.displaySizeComboBox.addItem("")
self.displaySizeComboBox.addItem("") self.displaySizeComboBox.addItem("")
self.displaySizeComboBox.addItem("")
self.displaySizeComboBox.setObjectName(u"displaySizeComboBox") self.displaySizeComboBox.setObjectName(u"displaySizeComboBox")
self.displaySizeComboBox.setMinimumSize(QSize(170, 0)) self.displaySizeComboBox.setMinimumSize(QSize(170, 0))
self.displaySizeComboBox.setMaximumSize(QSize(170, 16777215)) self.displaySizeComboBox.setMaximumSize(QSize(170, 16777215))
@ -106,7 +105,7 @@ class Ui_TinyblastOptions(object):
self.displaySizeLabel = QLabel(self.scrollAreaWidgetContents) self.displaySizeLabel = QLabel(self.scrollAreaWidgetContents)
self.displaySizeLabel.setObjectName(u"displaySizeLabel") self.displaySizeLabel.setObjectName(u"displaySizeLabel")
self.displaySizeLabel.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) self.displaySizeLabel.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter)
self.gridLayout.addWidget(self.displaySizeLabel, 4, 0, 1, 1) self.gridLayout.addWidget(self.displaySizeLabel, 4, 0, 1, 1)
@ -126,13 +125,13 @@ class Ui_TinyblastOptions(object):
self.framePaddingSlider.setObjectName(u"framePaddingSlider") self.framePaddingSlider.setObjectName(u"framePaddingSlider")
self.framePaddingSlider.setMaximum(10) self.framePaddingSlider.setMaximum(10)
self.framePaddingSlider.setSliderPosition(4) self.framePaddingSlider.setSliderPosition(4)
self.framePaddingSlider.setOrientation(Qt.Horizontal) self.framePaddingSlider.setOrientation(Qt.Orientation.Horizontal)
self.gridLayout.addWidget(self.framePaddingSlider, 7, 2, 1, 2) self.gridLayout.addWidget(self.framePaddingSlider, 7, 2, 1, 2)
self.framePaddingLabel = QLabel(self.scrollAreaWidgetContents) self.framePaddingLabel = QLabel(self.scrollAreaWidgetContents)
self.framePaddingLabel.setObjectName(u"framePaddingLabel") self.framePaddingLabel.setObjectName(u"framePaddingLabel")
self.framePaddingLabel.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) self.framePaddingLabel.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter)
self.gridLayout.addWidget(self.framePaddingLabel, 7, 0, 1, 1) self.gridLayout.addWidget(self.framePaddingLabel, 7, 0, 1, 1)
@ -141,19 +140,19 @@ class Ui_TinyblastOptions(object):
self.scaleSlider.setMaximum(1000) self.scaleSlider.setMaximum(1000)
self.scaleSlider.setValue(1000) self.scaleSlider.setValue(1000)
self.scaleSlider.setSliderPosition(1000) self.scaleSlider.setSliderPosition(1000)
self.scaleSlider.setOrientation(Qt.Horizontal) self.scaleSlider.setOrientation(Qt.Orientation.Horizontal)
self.gridLayout.addWidget(self.scaleSlider, 6, 2, 1, 2) self.gridLayout.addWidget(self.scaleSlider, 6, 2, 1, 2)
self.saveToFileLabel = QLabel(self.scrollAreaWidgetContents) self.saveToFileLabel = QLabel(self.scrollAreaWidgetContents)
self.saveToFileLabel.setObjectName(u"saveToFileLabel") self.saveToFileLabel.setObjectName(u"saveToFileLabel")
self.saveToFileLabel.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) self.saveToFileLabel.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter)
self.gridLayout.addWidget(self.saveToFileLabel, 9, 0, 1, 1) self.gridLayout.addWidget(self.saveToFileLabel, 9, 0, 1, 1)
self.scaleLabel = QLabel(self.scrollAreaWidgetContents) self.scaleLabel = QLabel(self.scrollAreaWidgetContents)
self.scaleLabel.setObjectName(u"scaleLabel") self.scaleLabel.setObjectName(u"scaleLabel")
self.scaleLabel.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) self.scaleLabel.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter)
self.gridLayout.addWidget(self.scaleLabel, 6, 0, 1, 1) self.gridLayout.addWidget(self.scaleLabel, 6, 0, 1, 1)
@ -161,7 +160,7 @@ class Ui_TinyblastOptions(object):
self.formattingLabel.setObjectName(u"formattingLabel") self.formattingLabel.setObjectName(u"formattingLabel")
self.formattingLabel.setMinimumSize(QSize(150, 0)) self.formattingLabel.setMinimumSize(QSize(150, 0))
self.formattingLabel.setMaximumSize(QSize(150, 16777215)) self.formattingLabel.setMaximumSize(QSize(150, 16777215))
self.formattingLabel.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) self.formattingLabel.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter)
self.gridLayout.addWidget(self.formattingLabel, 0, 0, 1, 1) self.gridLayout.addWidget(self.formattingLabel, 0, 0, 1, 1)
@ -174,14 +173,14 @@ class Ui_TinyblastOptions(object):
self.qualityLabel = QLabel(self.scrollAreaWidgetContents) self.qualityLabel = QLabel(self.scrollAreaWidgetContents)
self.qualityLabel.setObjectName(u"qualityLabel") self.qualityLabel.setObjectName(u"qualityLabel")
self.qualityLabel.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) self.qualityLabel.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter)
self.gridLayout.addWidget(self.qualityLabel, 2, 0, 1, 1) self.gridLayout.addWidget(self.qualityLabel, 2, 0, 1, 1)
self.scaleSpinBox = QDoubleSpinBox(self.scrollAreaWidgetContents) self.scaleSpinBox = QDoubleSpinBox(self.scrollAreaWidgetContents)
self.scaleSpinBox.setObjectName(u"scaleSpinBox") self.scaleSpinBox.setObjectName(u"scaleSpinBox")
self.scaleSpinBox.setButtonSymbols(QAbstractSpinBox.NoButtons) self.scaleSpinBox.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.scaleSpinBox.setCorrectionMode(QAbstractSpinBox.CorrectToNearestValue) self.scaleSpinBox.setCorrectionMode(QAbstractSpinBox.CorrectionMode.CorrectToNearestValue)
self.scaleSpinBox.setMaximum(1.000000000000000) self.scaleSpinBox.setMaximum(1.000000000000000)
self.scaleSpinBox.setValue(1.000000000000000) self.scaleSpinBox.setValue(1.000000000000000)
@ -189,8 +188,8 @@ class Ui_TinyblastOptions(object):
self.qualitySpinBox = QSpinBox(self.scrollAreaWidgetContents) self.qualitySpinBox = QSpinBox(self.scrollAreaWidgetContents)
self.qualitySpinBox.setObjectName(u"qualitySpinBox") self.qualitySpinBox.setObjectName(u"qualitySpinBox")
self.qualitySpinBox.setButtonSymbols(QAbstractSpinBox.NoButtons) self.qualitySpinBox.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.qualitySpinBox.setCorrectionMode(QAbstractSpinBox.CorrectToNearestValue) self.qualitySpinBox.setCorrectionMode(QAbstractSpinBox.CorrectionMode.CorrectToNearestValue)
self.qualitySpinBox.setMinimum(0) self.qualitySpinBox.setMinimum(0)
self.qualitySpinBox.setMaximum(100) self.qualitySpinBox.setMaximum(100)
self.qualitySpinBox.setValue(50) self.qualitySpinBox.setValue(50)
@ -199,8 +198,8 @@ class Ui_TinyblastOptions(object):
self.framePaddingSpinBox = QSpinBox(self.scrollAreaWidgetContents) self.framePaddingSpinBox = QSpinBox(self.scrollAreaWidgetContents)
self.framePaddingSpinBox.setObjectName(u"framePaddingSpinBox") self.framePaddingSpinBox.setObjectName(u"framePaddingSpinBox")
self.framePaddingSpinBox.setButtonSymbols(QAbstractSpinBox.NoButtons) self.framePaddingSpinBox.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.framePaddingSpinBox.setCorrectionMode(QAbstractSpinBox.CorrectToNearestValue) self.framePaddingSpinBox.setCorrectionMode(QAbstractSpinBox.CorrectionMode.CorrectToNearestValue)
self.framePaddingSpinBox.setMaximum(10) self.framePaddingSpinBox.setMaximum(10)
self.framePaddingSpinBox.setValue(4) self.framePaddingSpinBox.setValue(4)
@ -208,10 +207,10 @@ class Ui_TinyblastOptions(object):
self.widthSpinBox = QSpinBox(self.scrollAreaWidgetContents) self.widthSpinBox = QSpinBox(self.scrollAreaWidgetContents)
self.widthSpinBox.setObjectName(u"widthSpinBox") self.widthSpinBox.setObjectName(u"widthSpinBox")
self.widthSpinBox.setEnabled(False) self.widthSpinBox.setEnabled(True)
self.widthSpinBox.setMaximumSize(QSize(80, 16777215)) self.widthSpinBox.setMaximumSize(QSize(80, 16777215))
self.widthSpinBox.setButtonSymbols(QAbstractSpinBox.NoButtons) self.widthSpinBox.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.widthSpinBox.setCorrectionMode(QAbstractSpinBox.CorrectToNearestValue) self.widthSpinBox.setCorrectionMode(QAbstractSpinBox.CorrectionMode.CorrectToNearestValue)
self.widthSpinBox.setMaximum(999999999) self.widthSpinBox.setMaximum(999999999)
self.widthSpinBox.setValue(1920) self.widthSpinBox.setValue(1920)
@ -219,9 +218,9 @@ class Ui_TinyblastOptions(object):
self.heightSpinBox = QSpinBox(self.scrollAreaWidgetContents) self.heightSpinBox = QSpinBox(self.scrollAreaWidgetContents)
self.heightSpinBox.setObjectName(u"heightSpinBox") self.heightSpinBox.setObjectName(u"heightSpinBox")
self.heightSpinBox.setEnabled(False) self.heightSpinBox.setEnabled(True)
self.heightSpinBox.setMaximumSize(QSize(80, 16777215)) self.heightSpinBox.setMaximumSize(QSize(80, 16777215))
self.heightSpinBox.setButtonSymbols(QAbstractSpinBox.NoButtons) self.heightSpinBox.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.heightSpinBox.setMaximum(999999999) self.heightSpinBox.setMaximum(999999999)
self.heightSpinBox.setValue(1080) self.heightSpinBox.setValue(1080)
@ -289,7 +288,7 @@ class Ui_TinyblastOptions(object):
TinyblastOptions.setCentralWidget(self.centralwidget) TinyblastOptions.setCentralWidget(self.centralwidget)
self.menubar = QMenuBar(TinyblastOptions) self.menubar = QMenuBar(TinyblastOptions)
self.menubar.setObjectName(u"menubar") self.menubar.setObjectName(u"menubar")
self.menubar.setGeometry(QRect(0, 0, 551, 21)) self.menubar.setGeometry(QRect(0, 0, 551, 20))
self.menuFile = QMenu(self.menubar) self.menuFile = QMenu(self.menubar)
self.menuFile.setObjectName(u"menuFile") self.menuFile.setObjectName(u"menuFile")
self.menuHelp = QMenu(self.menubar) self.menuHelp = QMenu(self.menubar)
@ -309,16 +308,15 @@ class Ui_TinyblastOptions(object):
def retranslateUi(self, TinyblastOptions): def retranslateUi(self, TinyblastOptions):
TinyblastOptions.setWindowTitle(QCoreApplication.translate("TinyblastOptions", u"Tinyblast Options", None)) TinyblastOptions.setWindowTitle(QCoreApplication.translate("TinyblastOptions", u"Tinyblast Options", None))
self.actionSave_Settings.setText(QCoreApplication.translate("TinyblastOptions", u"Save Settings", None)) self.actionSave_Settings.setText(QCoreApplication.translate("TinyblastOptions", u"(TODO) Save Settings", None))
self.actionReset_Settings.setText(QCoreApplication.translate("TinyblastOptions", u"Reset Settings", None)) self.actionReset_Settings.setText(QCoreApplication.translate("TinyblastOptions", u"(TODO) Reset Settings", None))
self.actionHelp_on_Tinyblas_Options.setText(QCoreApplication.translate("TinyblastOptions", u"Help on Tinyblas Options", None)) self.actionHelp_on_Tinyblas_Options.setText(QCoreApplication.translate("TinyblastOptions", u"(TODO) Help on Tinyblast Options", None))
self.Title.setText(QCoreApplication.translate("TinyblastOptions", u"Tinyblast", None)) self.Title.setText(QCoreApplication.translate("TinyblastOptions", u"Tinyblast", None))
self.filePathLabel.setText(QCoreApplication.translate("TinyblastOptions", u"File Path", None)) self.filePathLabel.setText(QCoreApplication.translate("TinyblastOptions", u"File Path", None))
self.blankLabel.setText("") self.blankLabel.setText("")
self.encodingLabel.setText(QCoreApplication.translate("TinyblastOptions", u"Encoding", None)) self.encodingLabel.setText(QCoreApplication.translate("TinyblastOptions", u"Encoding", None))
self.displaySizeComboBox.setItemText(0, QCoreApplication.translate("TinyblastOptions", u"From Window", None)) self.displaySizeComboBox.setItemText(0, QCoreApplication.translate("TinyblastOptions", u"Custom", None))
self.displaySizeComboBox.setItemText(1, QCoreApplication.translate("TinyblastOptions", u"From Render Settings", None)) self.displaySizeComboBox.setItemText(1, QCoreApplication.translate("TinyblastOptions", u"From Render Settings", None))
self.displaySizeComboBox.setItemText(2, QCoreApplication.translate("TinyblastOptions", u"Custom", None))
self.displaySizeLabel.setText(QCoreApplication.translate("TinyblastOptions", u"Display Size", None)) self.displaySizeLabel.setText(QCoreApplication.translate("TinyblastOptions", u"Display Size", None))
self.saveToFileCheckBox.setText("") self.saveToFileCheckBox.setText("")

View File

@ -21,7 +21,6 @@
<font> <font>
<family>Dubai</family> <family>Dubai</family>
<pointsize>28</pointsize> <pointsize>28</pointsize>
<weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
@ -29,20 +28,20 @@
<string>Tinyblast</string> <string>Tinyblast</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignCenter</set> <set>Qt::AlignmentFlag::AlignCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QScrollArea" name="scrollArea"> <widget class="QScrollArea" name="scrollArea">
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::Box</enum> <enum>QFrame::Shape::Box</enum>
</property> </property>
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Sunken</enum> <enum>QFrame::Shadow::Sunken</enum>
</property> </property>
<property name="sizeAdjustPolicy"> <property name="sizeAdjustPolicy">
<enum>QAbstractScrollArea::AdjustIgnored</enum> <enum>QAbstractScrollArea::SizeAdjustPolicy::AdjustIgnored</enum>
</property> </property>
<property name="widgetResizable"> <property name="widgetResizable">
<bool>true</bool> <bool>true</bool>
@ -53,7 +52,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>533</width> <width>533</width>
<height>295</height> <height>296</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_3"> <layout class="QVBoxLayout" name="verticalLayout_3">
@ -65,7 +64,7 @@
<string>File Path</string> <string>File Path</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
@ -78,7 +77,7 @@
<number>50</number> <number>50</number>
</property> </property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
@ -92,7 +91,7 @@
<item row="8" column="0" colspan="4"> <item row="8" column="0" colspan="4">
<widget class="Line" name="line_01"> <widget class="Line" name="line_01">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
@ -102,7 +101,7 @@
<string>Encoding</string> <string>Encoding</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
@ -122,7 +121,7 @@
</property> </property>
<item> <item>
<property name="text"> <property name="text">
<string>From Window</string> <string>Custom</string>
</property> </property>
</item> </item>
<item> <item>
@ -130,11 +129,6 @@
<string>From Render Settings</string> <string>From Render Settings</string>
</property> </property>
</item> </item>
<item>
<property name="text">
<string>Custom</string>
</property>
</item>
</widget> </widget>
</item> </item>
<item row="4" column="0"> <item row="4" column="0">
@ -143,7 +137,7 @@
<string>Display Size</string> <string>Display Size</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
@ -172,7 +166,7 @@
<number>4</number> <number>4</number>
</property> </property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
@ -182,7 +176,7 @@
<string>Frame Padding</string> <string>Frame Padding</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
@ -198,7 +192,7 @@
<number>1000</number> <number>1000</number>
</property> </property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
@ -208,7 +202,7 @@
<string>Save to File</string> <string>Save to File</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
@ -218,7 +212,7 @@
<string>Scale</string> <string>Scale</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
@ -240,14 +234,14 @@
<string>Format</string> <string>Format</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0" colspan="4"> <item row="3" column="0" colspan="4">
<widget class="Line" name="line_00"> <widget class="Line" name="line_00">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
@ -257,17 +251,17 @@
<string>Quality</string> <string>Quality</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
<item row="6" column="1"> <item row="6" column="1">
<widget class="QDoubleSpinBox" name="scaleSpinBox"> <widget class="QDoubleSpinBox" name="scaleSpinBox">
<property name="buttonSymbols"> <property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum> <enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property> </property>
<property name="correctionMode"> <property name="correctionMode">
<enum>QAbstractSpinBox::CorrectToNearestValue</enum> <enum>QAbstractSpinBox::CorrectionMode::CorrectToNearestValue</enum>
</property> </property>
<property name="maximum"> <property name="maximum">
<double>1.000000000000000</double> <double>1.000000000000000</double>
@ -280,10 +274,10 @@
<item row="2" column="1"> <item row="2" column="1">
<widget class="QSpinBox" name="qualitySpinBox"> <widget class="QSpinBox" name="qualitySpinBox">
<property name="buttonSymbols"> <property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum> <enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property> </property>
<property name="correctionMode"> <property name="correctionMode">
<enum>QAbstractSpinBox::CorrectToNearestValue</enum> <enum>QAbstractSpinBox::CorrectionMode::CorrectToNearestValue</enum>
</property> </property>
<property name="minimum"> <property name="minimum">
<number>0</number> <number>0</number>
@ -299,10 +293,10 @@
<item row="7" column="1"> <item row="7" column="1">
<widget class="QSpinBox" name="framePaddingSpinBox"> <widget class="QSpinBox" name="framePaddingSpinBox">
<property name="buttonSymbols"> <property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum> <enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property> </property>
<property name="correctionMode"> <property name="correctionMode">
<enum>QAbstractSpinBox::CorrectToNearestValue</enum> <enum>QAbstractSpinBox::CorrectionMode::CorrectToNearestValue</enum>
</property> </property>
<property name="maximum"> <property name="maximum">
<number>10</number> <number>10</number>
@ -315,7 +309,7 @@
<item row="5" column="1"> <item row="5" column="1">
<widget class="QSpinBox" name="widthSpinBox"> <widget class="QSpinBox" name="widthSpinBox">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>true</bool>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
@ -324,10 +318,10 @@
</size> </size>
</property> </property>
<property name="buttonSymbols"> <property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum> <enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property> </property>
<property name="correctionMode"> <property name="correctionMode">
<enum>QAbstractSpinBox::CorrectToNearestValue</enum> <enum>QAbstractSpinBox::CorrectionMode::CorrectToNearestValue</enum>
</property> </property>
<property name="maximum"> <property name="maximum">
<number>999999999</number> <number>999999999</number>
@ -340,7 +334,7 @@
<item row="5" column="2"> <item row="5" column="2">
<widget class="QSpinBox" name="heightSpinBox"> <widget class="QSpinBox" name="heightSpinBox">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>true</bool>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
@ -349,7 +343,7 @@
</size> </size>
</property> </property>
<property name="buttonSymbols"> <property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum> <enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property> </property>
<property name="maximum"> <property name="maximum">
<number>999999999</number> <number>999999999</number>
@ -517,7 +511,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>551</width> <width>551</width>
<height>21</height> <height>20</height>
</rect> </rect>
</property> </property>
<widget class="QMenu" name="menuFile"> <widget class="QMenu" name="menuFile">
@ -538,17 +532,17 @@
</widget> </widget>
<action name="actionSave_Settings"> <action name="actionSave_Settings">
<property name="text"> <property name="text">
<string>Save Settings</string> <string>(TODO) Save Settings</string>
</property> </property>
</action> </action>
<action name="actionReset_Settings"> <action name="actionReset_Settings">
<property name="text"> <property name="text">
<string>Reset Settings</string> <string>(TODO) Reset Settings</string>
</property> </property>
</action> </action>
<action name="actionHelp_on_Tinyblas_Options"> <action name="actionHelp_on_Tinyblas_Options">
<property name="text"> <property name="text">
<string>Help on Tinyblas Options</string> <string>(TODO) Help on Tinyblast Options</string>
</property> </property>
</action> </action>
</widget> </widget>

BIN
asdf.mp4

Binary file not shown.

View File

@ -12,7 +12,7 @@ from ui.tinyblast_options import Ui_TinyblastOptions
from PySide6 import QtCore from PySide6 import QtCore
from PySide6.QtWidgets import QMainWindow, QFileDialog from PySide6.QtWidgets import QMainWindow, QFileDialog
from PySide6.QtCore import QCoreApplication from PySide6.QtCore import QCoreApplication, QSettings
import shiboken6 import shiboken6
# Global variable to store the scriptJob ID # Global variable to store the scriptJob ID
@ -155,17 +155,20 @@ class Tinyblast(ompx.MPxCommand):
self.codec = 'libx265' self.codec = 'libx265'
self.bitrate = '5m' self.bitrate = '5m'
self.pixel_format = 'yuv420p' self.pixel_format = 'yuv420p'
self.resolution = (cmds.getAttr("defaultResolution.width"), cmds.getAttr("defaultResolution.height")) self.resolution = (1920, 1080)
# self.resolution = (cmds.getAttr("defaultResolution.width"), cmds.getAttr("defaultResolution.height"))
self.percent = '100' self.percent = '100'
self.path = '' self.path = ''
self.save = True
def apply_settings(self, format, codec, quality, resolution, scale, file_path): def apply_settings(self, format, codec, quality, resolution, scale, file_path, save):
self.format = format self.format = format
self.codec = self.get_codec(codec) self.codec = self.get_codec(codec)
self.bitrate = f"{round(8 * (resolution[0] * resolution[1]) / (1920 * 1080) * (float(quality) / 100), 1)}m" self.bitrate = f"{round(8 * (resolution[0] * resolution[1]) / (1920 * 1080) * (float(quality) / 100), 1)}M"
self.resolution = resolution self.resolution = resolution
self.percent = int(scale * 100) self.percent = int(scale * 100)
self.path = file_path self.path = file_path
self.save = save
def get_codec(self, pretty_name): def get_codec(self, pretty_name):
if pretty_name == 'HEVC (H.265)': if pretty_name == 'HEVC (H.265)':
@ -199,23 +202,19 @@ class Tinyblast(ompx.MPxCommand):
return ompx.asMPxPtr(Tinyblast()) return ompx.asMPxPtr(Tinyblast())
def custom_playblast(self, *args, **kwargs): def custom_playblast(self, *args, **kwargs):
print("Running tinyblast...")
kwargs['format'] = 'avi' kwargs['format'] = 'avi'
kwargs['percent'] = int(self.percent) kwargs['percent'] = int(self.percent)
kwargs['quality'] = 100 kwargs['quality'] = 100
kwargs['widthHeight'] = self.resolution kwargs['widthHeight'] = self.resolution
result = original_playblast(*args, **kwargs) result = original_playblast(*args, **kwargs)
print(f"{result}")
if result: if result and self.save:
self.blastIt(result) self.blastIt(result)
def blastIt(self, input_path): def blastIt(self, input_path):
try: try:
ffmpeg_path = os.path.join(get_plugin_directory(), 'ffmpeg.exe') ffmpeg_path = os.path.join(get_plugin_directory(), 'ffmpeg.exe')
print(f"ffmpeg path: {ffmpeg_path}")
if not os.path.exists(ffmpeg_path): if not os.path.exists(ffmpeg_path):
raise FileNotFoundError(f"FFmpeg binary not found at {ffmpeg_path}") raise FileNotFoundError(f"FFmpeg binary not found at {ffmpeg_path}")
@ -229,7 +228,6 @@ class Tinyblast(ompx.MPxCommand):
# Define the full path for the converted output file # Define the full path for the converted output file
output_file = self.path output_file = self.path
print(f"Output path: {output_file}")
# Run FFmpeg conversion # Run FFmpeg conversion
subprocess.run([ffmpeg_path, subprocess.run([ffmpeg_path,
@ -262,6 +260,10 @@ class TinyblastOptionsWindow(QMainWindow):
self.ui = Ui_TinyblastOptions() self.ui = Ui_TinyblastOptions()
self.ui.setupUi(self) self.ui.setupUi(self)
self.resize(1280, 720)
self.restore_settings()
self.ui.formattingComboBox.currentIndexChanged.connect(self.update_format) self.ui.formattingComboBox.currentIndexChanged.connect(self.update_format)
self.ui.tinyblastButton.clicked.connect(self.tinyblast) self.ui.tinyblastButton.clicked.connect(self.tinyblast)
@ -282,6 +284,17 @@ class TinyblastOptionsWindow(QMainWindow):
self.ui.saveToFileCheckBox.toggled.connect(self.save_to_file_toggle) self.ui.saveToFileCheckBox.toggled.connect(self.save_to_file_toggle)
self.ui.browseButton.clicked.connect(self.browse_files) self.ui.browseButton.clicked.connect(self.browse_files)
def restore_settings(self):
settings = QSettings("Jack Christensen", "Tinyblast")
geometry = settings.value("windowGeometry")
if geometry:
self.restoreGeometry(geometry)
def closeEvent(self, event):
settings = QSettings("Jack Christensen", "Tinyblast")
settings.setValue("windowGeometry", self.saveGeometry())
def update_format(self, index): def update_format(self, index):
self.ui.encodingComboBox.clear() self.ui.encodingComboBox.clear()
# MP4 # MP4
@ -362,7 +375,8 @@ class TinyblastOptionsWindow(QMainWindow):
self.ui.qualitySpinBox.value(), # Quality as a percentage self.ui.qualitySpinBox.value(), # Quality as a percentage
(self.ui.widthSpinBox.value(), self.ui.heightSpinBox.value()), # Resolution (self.ui.widthSpinBox.value(), self.ui.heightSpinBox.value()), # Resolution
self.ui.scaleSpinBox.value(), # Scale self.ui.scaleSpinBox.value(), # Scale
self.ui.filePathTextBox.text() # File path self.ui.filePathTextBox.text(), # File path
self.ui.saveToFileCheckBox.isChecked()
) )
def quit_window(self): def quit_window(self):
@ -375,15 +389,11 @@ class TinyblastOptionsWindow(QMainWindow):
def update_display_size(self, index): def update_display_size(self, index):
if index == 0: if index == 0:
self.ui.widthSpinBox.setEnabled(False) self.ui.widthSpinBox.setEnabled(True)
self.ui.heightSpinBox.setEnabled(False) self.ui.heightSpinBox.setEnabled(True)
if index == 1: if index == 1:
self.ui.widthSpinBox.setEnabled(False) self.ui.widthSpinBox.setEnabled(False)
self.ui.heightSpinBox.setEnabled(False) self.ui.heightSpinBox.setEnabled(False)
if index == 2:
self.ui.widthSpinBox.setEnabled(True)
self.ui.heightSpinBox.setEnabled(True)
def update_scale_slider(self, value): def update_scale_slider(self, value):
self.ui.scaleSpinBox.setValue(float(value/1000.0)) self.ui.scaleSpinBox.setValue(float(value/1000.0))
@ -427,7 +437,7 @@ def show_my_window():
tb_window = TinyblastOptionsWindow() tb_window = TinyblastOptionsWindow()
tb_window.show() tb_window.show()
class MyPluginCommand(ompx.MPxCommand): class OpenTinyblastOptions(ompx.MPxCommand):
def __init__(self): def __init__(self):
ompx.MPxCommand.__init__(self) ompx.MPxCommand.__init__(self)
@ -435,15 +445,15 @@ class MyPluginCommand(ompx.MPxCommand):
show_my_window() show_my_window()
def cmdCreator(): def cmdCreator():
return ompx.asMPxPtr(MyPluginCommand()) return ompx.asMPxPtr(OpenTinyblastOptions())
def initializePlugin(mobject): def initializePlugin(mobject):
global tinyblast_instance global tinyblast_instance
tinyblast_instance = Tinyblast() tinyblast_instance = Tinyblast()
try: try:
mplugin = ompx.MFnPlugin(mobject, "Jack Christensen", "1.0.0", "Any") mplugin = ompx.MFnPlugin(mobject, "Jack Christensen", "2.0.0", "Any")
mplugin.registerCommand("tinyblast", Tinyblast.cmdCreator) mplugin.registerCommand("tinyblast", Tinyblast.cmdCreator)
mplugin.registerCommand("myPluginCommand", cmdCreator) mplugin.registerCommand("openTinyblastOptions", cmdCreator)
om.MGlobal.displayInfo("Tinyblast plugin loaded.") om.MGlobal.displayInfo("Tinyblast plugin loaded.")
setup_script_job() setup_script_job()
cmds.playblast = tinyblast_instance.custom_playblast cmds.playblast = tinyblast_instance.custom_playblast
@ -456,7 +466,7 @@ def uninitializePlugin(mobject):
mplugin = ompx.MFnPlugin(mobject) mplugin = ompx.MFnPlugin(mobject)
tb_window.close() tb_window.close()
mplugin.deregisterCommand("tinyblast") mplugin.deregisterCommand("tinyblast")
mplugin.deregisterCommand("myPluginCommand") mplugin.deregisterCommand("openTinyblastOptions")
om.MGlobal.displayInfo("Tinyblast plugin unloaded.") om.MGlobal.displayInfo("Tinyblast plugin unloaded.")
except Exception as e: except Exception as e:
om.MGlobal.displayError(f"Failed to uninitialize plugin: {str(e)}") om.MGlobal.displayError(f"Failed to uninitialize plugin: {str(e)}")