Connect UI elements together

Still need to add functionality, but the window now behaves like it should
This commit is contained in:
Jack 2024-09-16 15:16:10 -04:00
parent a7e555566f
commit 0b6f65becc
4 changed files with 346 additions and 200 deletions

View File

@ -70,6 +70,7 @@ class Ui_TinyblastOptions(object):
self.qualitySlider = QSlider(self.scrollAreaWidgetContents)
self.qualitySlider.setObjectName(u"qualitySlider")
self.qualitySlider.setMaximum(100)
self.qualitySlider.setSliderPosition(50)
self.qualitySlider.setOrientation(Qt.Horizontal)
@ -87,37 +88,12 @@ class Ui_TinyblastOptions(object):
self.gridLayout.addWidget(self.line_01, 8, 0, 1, 4)
self.encodingComboBox = QComboBox(self.scrollAreaWidgetContents)
self.encodingComboBox.addItem("")
self.encodingComboBox.addItem("")
self.encodingComboBox.addItem("")
self.encodingComboBox.addItem("")
self.encodingComboBox.addItem("")
self.encodingComboBox.addItem("")
self.encodingComboBox.setObjectName(u"encodingComboBox")
self.encodingComboBox.setMinimumSize(QSize(80, 0))
self.encodingComboBox.setMaximumSize(QSize(80, 16777215))
self.gridLayout.addWidget(self.encodingComboBox, 1, 1, 1, 1)
self.encodingLabel = QLabel(self.scrollAreaWidgetContents)
self.encodingLabel.setObjectName(u"encodingLabel")
self.encodingLabel.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
self.gridLayout.addWidget(self.encodingLabel, 1, 0, 1, 1)
self.formattingComboBox = QComboBox(self.scrollAreaWidgetContents)
self.formattingComboBox.addItem("")
self.formattingComboBox.addItem("")
self.formattingComboBox.addItem("")
self.formattingComboBox.addItem("")
self.formattingComboBox.addItem("")
self.formattingComboBox.setObjectName(u"formattingComboBox")
self.formattingComboBox.setMinimumSize(QSize(80, 0))
self.formattingComboBox.setMaximumSize(QSize(80, 16777215))
self.gridLayout.addWidget(self.formattingComboBox, 0, 1, 1, 1)
self.displaySizeComboBox = QComboBox(self.scrollAreaWidgetContents)
self.displaySizeComboBox.addItem("")
self.displaySizeComboBox.addItem("")
@ -202,60 +178,84 @@ class Ui_TinyblastOptions(object):
self.gridLayout.addWidget(self.qualityLabel, 2, 0, 1, 1)
self.doubleSpinBox = QDoubleSpinBox(self.scrollAreaWidgetContents)
self.doubleSpinBox.setObjectName(u"doubleSpinBox")
self.doubleSpinBox.setButtonSymbols(QAbstractSpinBox.NoButtons)
self.doubleSpinBox.setCorrectionMode(QAbstractSpinBox.CorrectToNearestValue)
self.doubleSpinBox.setMaximum(1.000000000000000)
self.doubleSpinBox.setValue(1.000000000000000)
self.scaleSpinBox = QDoubleSpinBox(self.scrollAreaWidgetContents)
self.scaleSpinBox.setObjectName(u"scaleSpinBox")
self.scaleSpinBox.setButtonSymbols(QAbstractSpinBox.NoButtons)
self.scaleSpinBox.setCorrectionMode(QAbstractSpinBox.CorrectToNearestValue)
self.scaleSpinBox.setMaximum(1.000000000000000)
self.scaleSpinBox.setValue(1.000000000000000)
self.gridLayout.addWidget(self.doubleSpinBox, 6, 1, 1, 1)
self.gridLayout.addWidget(self.scaleSpinBox, 6, 1, 1, 1)
self.spinBox = QSpinBox(self.scrollAreaWidgetContents)
self.spinBox.setObjectName(u"spinBox")
self.spinBox.setButtonSymbols(QAbstractSpinBox.NoButtons)
self.spinBox.setCorrectionMode(QAbstractSpinBox.CorrectToNearestValue)
self.spinBox.setMinimum(0)
self.spinBox.setMaximum(100)
self.spinBox.setValue(50)
self.qualitySpinBox = QSpinBox(self.scrollAreaWidgetContents)
self.qualitySpinBox.setObjectName(u"qualitySpinBox")
self.qualitySpinBox.setButtonSymbols(QAbstractSpinBox.NoButtons)
self.qualitySpinBox.setCorrectionMode(QAbstractSpinBox.CorrectToNearestValue)
self.qualitySpinBox.setMinimum(0)
self.qualitySpinBox.setMaximum(100)
self.qualitySpinBox.setValue(50)
self.gridLayout.addWidget(self.spinBox, 2, 1, 1, 1)
self.gridLayout.addWidget(self.qualitySpinBox, 2, 1, 1, 1)
self.spinBox_2 = QSpinBox(self.scrollAreaWidgetContents)
self.spinBox_2.setObjectName(u"spinBox_2")
self.spinBox_2.setButtonSymbols(QAbstractSpinBox.NoButtons)
self.spinBox_2.setCorrectionMode(QAbstractSpinBox.CorrectToNearestValue)
self.spinBox_2.setMaximum(10)
self.spinBox_2.setValue(4)
self.framePaddingSpinBox = QSpinBox(self.scrollAreaWidgetContents)
self.framePaddingSpinBox.setObjectName(u"framePaddingSpinBox")
self.framePaddingSpinBox.setButtonSymbols(QAbstractSpinBox.NoButtons)
self.framePaddingSpinBox.setCorrectionMode(QAbstractSpinBox.CorrectToNearestValue)
self.framePaddingSpinBox.setMaximum(10)
self.framePaddingSpinBox.setValue(4)
self.gridLayout.addWidget(self.spinBox_2, 7, 1, 1, 1)
self.gridLayout.addWidget(self.framePaddingSpinBox, 7, 1, 1, 1)
self.spinBox_3 = QSpinBox(self.scrollAreaWidgetContents)
self.spinBox_3.setObjectName(u"spinBox_3")
self.spinBox_3.setEnabled(False)
self.spinBox_3.setMaximumSize(QSize(80, 16777215))
self.spinBox_3.setButtonSymbols(QAbstractSpinBox.NoButtons)
self.spinBox_3.setCorrectionMode(QAbstractSpinBox.CorrectToNearestValue)
self.spinBox_3.setMaximum(999999999)
self.spinBox_3.setValue(1920)
self.widthSpinBox = QSpinBox(self.scrollAreaWidgetContents)
self.widthSpinBox.setObjectName(u"widthSpinBox")
self.widthSpinBox.setEnabled(False)
self.widthSpinBox.setMaximumSize(QSize(80, 16777215))
self.widthSpinBox.setButtonSymbols(QAbstractSpinBox.NoButtons)
self.widthSpinBox.setCorrectionMode(QAbstractSpinBox.CorrectToNearestValue)
self.widthSpinBox.setMaximum(999999999)
self.widthSpinBox.setValue(1920)
self.gridLayout.addWidget(self.spinBox_3, 5, 1, 1, 1)
self.gridLayout.addWidget(self.widthSpinBox, 5, 1, 1, 1)
self.spinBox_4 = QSpinBox(self.scrollAreaWidgetContents)
self.spinBox_4.setObjectName(u"spinBox_4")
self.spinBox_4.setEnabled(False)
self.spinBox_4.setMaximumSize(QSize(80, 16777215))
self.spinBox_4.setButtonSymbols(QAbstractSpinBox.NoButtons)
self.spinBox_4.setMaximum(999999999)
self.spinBox_4.setValue(1080)
self.heightSpinBox = QSpinBox(self.scrollAreaWidgetContents)
self.heightSpinBox.setObjectName(u"heightSpinBox")
self.heightSpinBox.setEnabled(False)
self.heightSpinBox.setMaximumSize(QSize(80, 16777215))
self.heightSpinBox.setButtonSymbols(QAbstractSpinBox.NoButtons)
self.heightSpinBox.setMaximum(999999999)
self.heightSpinBox.setValue(1080)
self.gridLayout.addWidget(self.spinBox_4, 5, 2, 1, 1)
self.gridLayout.addWidget(self.heightSpinBox, 5, 2, 1, 1)
self.browseButton = QPushButton(self.scrollAreaWidgetContents)
self.browseButton.setObjectName(u"browseButton")
self.gridLayout.addWidget(self.browseButton, 11, 1, 1, 2)
self.encodingComboBox = QComboBox(self.scrollAreaWidgetContents)
self.encodingComboBox.addItem("")
self.encodingComboBox.addItem("")
self.encodingComboBox.addItem("")
self.encodingComboBox.addItem("")
self.encodingComboBox.addItem("")
self.encodingComboBox.setObjectName(u"encodingComboBox")
self.encodingComboBox.setMinimumSize(QSize(0, 0))
self.encodingComboBox.setMaximumSize(QSize(16777215, 16777215))
self.gridLayout.addWidget(self.encodingComboBox, 1, 1, 1, 2)
self.formattingComboBox = QComboBox(self.scrollAreaWidgetContents)
self.formattingComboBox.addItem("")
self.formattingComboBox.addItem("")
self.formattingComboBox.addItem("")
self.formattingComboBox.addItem("")
self.formattingComboBox.addItem("")
self.formattingComboBox.setObjectName(u"formattingComboBox")
self.formattingComboBox.setMinimumSize(QSize(0, 0))
self.formattingComboBox.setMaximumSize(QSize(16777215, 16777215))
self.gridLayout.addWidget(self.formattingComboBox, 0, 1, 1, 2)
self.verticalLayout_3.addLayout(self.gridLayout)
@ -315,14 +315,25 @@ class Ui_TinyblastOptions(object):
self.Title.setText(QCoreApplication.translate("TinyblastOptions", u"Tinyblast", None))
self.filePathLabel.setText(QCoreApplication.translate("TinyblastOptions", u"File Path", None))
self.blankLabel.setText("")
self.encodingComboBox.setItemText(0, QCoreApplication.translate("TinyblastOptions", u"H.264", None))
self.encodingComboBox.setItemText(1, QCoreApplication.translate("TinyblastOptions", u"H.265", None))
self.encodingComboBox.setItemText(2, QCoreApplication.translate("TinyblastOptions", u"VP9", None))
self.encodingComboBox.setItemText(3, QCoreApplication.translate("TinyblastOptions", u"ProRes", None))
self.encodingComboBox.setItemText(4, QCoreApplication.translate("TinyblastOptions", u"AV1", None))
self.encodingComboBox.setItemText(5, QCoreApplication.translate("TinyblastOptions", u"MPEG-4", None))
self.encodingLabel.setText(QCoreApplication.translate("TinyblastOptions", u"Encoding", None))
self.displaySizeComboBox.setItemText(0, QCoreApplication.translate("TinyblastOptions", u"From Window", 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.saveToFileCheckBox.setText("")
self.framePaddingLabel.setText(QCoreApplication.translate("TinyblastOptions", u"Frame Padding", None))
self.saveToFileLabel.setText(QCoreApplication.translate("TinyblastOptions", u"Save to File", None))
self.scaleLabel.setText(QCoreApplication.translate("TinyblastOptions", u"Scale", None))
self.formattingLabel.setText(QCoreApplication.translate("TinyblastOptions", u"Format", None))
self.qualityLabel.setText(QCoreApplication.translate("TinyblastOptions", u"Quality", None))
self.browseButton.setText(QCoreApplication.translate("TinyblastOptions", u"Browse...", None))
self.encodingComboBox.setItemText(0, QCoreApplication.translate("TinyblastOptions", u"HEVC (H.265)", None))
self.encodingComboBox.setItemText(1, QCoreApplication.translate("TinyblastOptions", u"H.264", None))
self.encodingComboBox.setItemText(2, QCoreApplication.translate("TinyblastOptions", u"AV1", None))
self.encodingComboBox.setItemText(3, QCoreApplication.translate("TinyblastOptions", u"MPEG-4", None))
self.encodingComboBox.setItemText(4, QCoreApplication.translate("TinyblastOptions", u"VP9", None))
self.formattingComboBox.setItemText(0, QCoreApplication.translate("TinyblastOptions", u"MP4", None))
self.formattingComboBox.setItemText(1, QCoreApplication.translate("TinyblastOptions", u"MKV", None))
self.formattingComboBox.setItemText(2, QCoreApplication.translate("TinyblastOptions", u"MOV", None))
@ -341,18 +352,6 @@ class Ui_TinyblastOptions(object):
#if QT_CONFIG(accessibility)
self.formattingComboBox.setAccessibleDescription("")
#endif // QT_CONFIG(accessibility)
self.displaySizeComboBox.setItemText(0, QCoreApplication.translate("TinyblastOptions", u"From Window", 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.saveToFileCheckBox.setText("")
self.framePaddingLabel.setText(QCoreApplication.translate("TinyblastOptions", u"Frame Padding", None))
self.saveToFileLabel.setText(QCoreApplication.translate("TinyblastOptions", u"Save to File", None))
self.scaleLabel.setText(QCoreApplication.translate("TinyblastOptions", u"Scale", None))
self.formattingLabel.setText(QCoreApplication.translate("TinyblastOptions", u"Format", None))
self.qualityLabel.setText(QCoreApplication.translate("TinyblastOptions", u"Quality", None))
self.browseButton.setText(QCoreApplication.translate("TinyblastOptions", u"Browse...", None))
self.tinyblastButton.setText(QCoreApplication.translate("TinyblastOptions", u"Tinyblast", None))
self.applyButton.setText(QCoreApplication.translate("TinyblastOptions", u"Apply", None))
self.quitButton.setText(QCoreApplication.translate("TinyblastOptions", u"Quit", None))

View File

@ -71,6 +71,9 @@
</item>
<item row="2" column="2" colspan="2">
<widget class="QSlider" name="qualitySlider">
<property name="maximum">
<number>100</number>
</property>
<property name="sliderPosition">
<number>50</number>
</property>
@ -93,52 +96,6 @@
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="encodingComboBox">
<property name="minimumSize">
<size>
<width>80</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>80</width>
<height>16777215</height>
</size>
</property>
<item>
<property name="text">
<string>H.264</string>
</property>
</item>
<item>
<property name="text">
<string>H.265</string>
</property>
</item>
<item>
<property name="text">
<string>VP9</string>
</property>
</item>
<item>
<property name="text">
<string>ProRes</string>
</property>
</item>
<item>
<property name="text">
<string>AV1</string>
</property>
</item>
<item>
<property name="text">
<string>MPEG-4</string>
</property>
</item>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="encodingLabel">
<property name="text">
@ -149,59 +106,6 @@
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="formattingComboBox">
<property name="minimumSize">
<size>
<width>80</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>80</width>
<height>16777215</height>
</size>
</property>
<property name="statusTip">
<string/>
</property>
<property name="whatsThis">
<string/>
</property>
<property name="accessibleName">
<string/>
</property>
<property name="accessibleDescription">
<string/>
</property>
<item>
<property name="text">
<string>MP4</string>
</property>
</item>
<item>
<property name="text">
<string>MKV</string>
</property>
</item>
<item>
<property name="text">
<string>MOV</string>
</property>
</item>
<item>
<property name="text">
<string>AVI</string>
</property>
</item>
<item>
<property name="text">
<string>WebM</string>
</property>
</item>
</widget>
</item>
<item row="4" column="1" colspan="2">
<widget class="QComboBox" name="displaySizeComboBox">
<property name="minimumSize">
@ -358,7 +262,7 @@
</widget>
</item>
<item row="6" column="1">
<widget class="QDoubleSpinBox" name="doubleSpinBox">
<widget class="QDoubleSpinBox" name="scaleSpinBox">
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
@ -374,7 +278,7 @@
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="spinBox">
<widget class="QSpinBox" name="qualitySpinBox">
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
@ -393,7 +297,7 @@
</widget>
</item>
<item row="7" column="1">
<widget class="QSpinBox" name="spinBox_2">
<widget class="QSpinBox" name="framePaddingSpinBox">
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
@ -409,7 +313,7 @@
</widget>
</item>
<item row="5" column="1">
<widget class="QSpinBox" name="spinBox_3">
<widget class="QSpinBox" name="widthSpinBox">
<property name="enabled">
<bool>false</bool>
</property>
@ -434,7 +338,7 @@
</widget>
</item>
<item row="5" column="2">
<widget class="QSpinBox" name="spinBox_4">
<widget class="QSpinBox" name="heightSpinBox">
<property name="enabled">
<bool>false</bool>
</property>
@ -462,6 +366,100 @@
</property>
</widget>
</item>
<item row="1" column="1" colspan="2">
<widget class="QComboBox" name="encodingComboBox">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<item>
<property name="text">
<string>HEVC (H.265)</string>
</property>
</item>
<item>
<property name="text">
<string>H.264</string>
</property>
</item>
<item>
<property name="text">
<string>AV1</string>
</property>
</item>
<item>
<property name="text">
<string>MPEG-4</string>
</property>
</item>
<item>
<property name="text">
<string>VP9</string>
</property>
</item>
</widget>
</item>
<item row="0" column="1" colspan="2">
<widget class="QComboBox" name="formattingComboBox">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="statusTip">
<string/>
</property>
<property name="whatsThis">
<string/>
</property>
<property name="accessibleName">
<string/>
</property>
<property name="accessibleDescription">
<string/>
</property>
<item>
<property name="text">
<string>MP4</string>
</property>
</item>
<item>
<property name="text">
<string>MKV</string>
</property>
</item>
<item>
<property name="text">
<string>MOV</string>
</property>
</item>
<item>
<property name="text">
<string>AVI</string>
</property>
</item>
<item>
<property name="text">
<string>WebM</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
</layout>

View File

@ -1,14 +1,18 @@
import maya.cmds as cmds
import maya.OpenMaya as om
import maya.OpenMayaMPx as ompx
import os
import subprocess
import sys
import tkinter as tk
from tkinter import filedialog
from ui.tinyblast_options import Ui_TinyblastOptions
from UI.tinyblast_options import Ui_TinyblastOptions
from PySide6 import QtCore
from PySide6.QtWidgets import QMainWindow
from PySide6.QtWidgets import QMainWindow, QFileDialog
from PySide6.QtCore import QCoreApplication
import shiboken6
# Global variable to store the scriptJob ID
@ -22,7 +26,7 @@ def get_plugin_directory():
return os.path.dirname(plugin_path)
def custom_playblast(*args, **kwargs):
print("Running playblast...")
print("Running tinyblast...")
kwargs['format'] = 'avi'
kwargs['percent'] = 100
@ -148,7 +152,7 @@ class Tinyblast(ompx.MPxCommand):
ompx.MPxCommand.__init__(self)
def doIt(selfself, args):
print("Executing custom playblast command.")
print("Tinyblasting...")
cmds.playblast()
@staticmethod
@ -165,23 +169,167 @@ def get_maya_window():
return None
class MyDialog(QMainWindow):
class TinyblastOptionsWindow(QMainWindow):
def __init__(self, parent=None):
super(MyDialog, self).__init__(parent or get_maya_window())
super(TinyblastOptionsWindow, self).__init__(parent or get_maya_window())
self.ui = Ui_TinyblastOptions()
self.ui.setupUi(self)
# Additional setup if needed
self.ui.formattingComboBox.currentIndexChanged.connect(self.update_format)
self.ui.tinyblastButton.clicked.connect(self.tinyblast)
self.ui.applyButton.clicked.connect(self.apply_settings)
self.ui.quitButton.clicked.connect(self.quit_window)
self.ui.qualitySlider.valueChanged.connect(self.update_quality_slider)
self.ui.qualitySpinBox.valueChanged.connect(self.update_quality_spinbox)
self.ui.displaySizeComboBox.currentIndexChanged.connect(self.update_display_size)
self.ui.scaleSlider.valueChanged.connect(self.update_scale_slider)
self.ui.scaleSpinBox.valueChanged.connect(self.update_scale_spinbox)
self.ui.framePaddingSlider.valueChanged.connect(self.update_frame_padding_slider)
self.ui.framePaddingSpinBox.valueChanged.connect(self.update_frame_padding_spinbox)
self.ui.saveToFileCheckBox.toggled.connect(self.save_to_file_toggle)
self.ui.browseButton.clicked.connect(self.browse_files)
def update_format(self, index):
self.ui.encodingComboBox.clear()
# MP4
if index == 0:
self.ui.encodingComboBox.addItems([
QCoreApplication.translate("TinyblastOptions", u"HEVC (H.265)", None),
QCoreApplication.translate("TinyblastOptions", u"H.264", None),
QCoreApplication.translate("TinyblastOptions", u"AV1", None),
QCoreApplication.translate("TinyblastOptions", u"MPEG-4", None),
QCoreApplication.translate("TinyblastOptions", u"VP9", None)
])
if self.ui.filePathTextBox.text():
split_path = self.ui.filePathTextBox.text().rsplit('.', 1)
self.ui.filePathTextBox.setText(f"{split_path[0]}.mp4")
# MKV
if index == 1:
self.ui.encodingComboBox.addItems([
QCoreApplication.translate("TinyblastOptions", u"HEVC (H.265)", None),
QCoreApplication.translate("TinyblastOptions", u"H.264", None),
QCoreApplication.translate("TinyblastOptions", u"AV1", None),
QCoreApplication.translate("TinyblastOptions", u"VP9", None),
QCoreApplication.translate("TinyblastOptions", u"VP8", None),
QCoreApplication.translate("TinyblastOptions", u"Theora", None)
])
if self.ui.filePathTextBox.text():
split_path = self.ui.filePathTextBox.text().rsplit('.', 1)
self.ui.filePathTextBox.setText(f"{split_path[0]}.mkv")
# MOV
if index == 2:
self.ui.encodingComboBox.addItems([
QCoreApplication.translate("TinyblastOptions", u"Apple ProRes", None),
QCoreApplication.translate("TinyblastOptions", u"HEVC (H.265)", None),
QCoreApplication.translate("TinyblastOptions", u"H.264", None),
QCoreApplication.translate("TinyblastOptions", u"MPEG-4", None)
])
if self.ui.filePathTextBox.text():
split_path = self.ui.filePathTextBox.text().rsplit('.', 1)
self.ui.filePathTextBox.setText(f"{split_path[0]}.mov")
# AVI
if index == 3:
self.ui.encodingComboBox.addItems([
QCoreApplication.translate("TinyblastOptions", u"H.264", None),
QCoreApplication.translate("TinyblastOptions", u"MPEG-4", None),
QCoreApplication.translate("TinyblastOptions", u"DivX", None),
QCoreApplication.translate("TinyblastOptions", u"Xvid", None),
QCoreApplication.translate("TinyblastOptions", u"Motion JPEG", None),
])
if self.ui.filePathTextBox.text():
split_path = self.ui.filePathTextBox.text().rsplit('.', 1)
self.ui.filePathTextBox.setText(f"{split_path[0]}.avi")
# WEBM
if index == 4:
self.ui.encodingComboBox.addItems([
QCoreApplication.translate("TinyblastOptions", u"AV1", None),
QCoreApplication.translate("TinyblastOptions", u"VP9", None),
QCoreApplication.translate("TinyblastOptions", u"VP8", None)
])
if self.ui.filePathTextBox.text():
split_path = self.ui.filePathTextBox.text().rsplit('.', 1)
self.ui.filePathTextBox.setText(f"{split_path[0]}.webm")
def tinyblast(self):
print("Tinyblasting...")
cmds.playblast()
def apply_settings(self):
print("TODO")
def quit_window(self):
tb_window.close()
def update_quality_slider(self, value):
self.ui.qualitySpinBox.setValue(value)
def update_quality_spinbox(self, value):
self.ui.qualitySlider.setValue(value)
def update_display_size(self, index):
if index == 0:
self.ui.widthSpinBox.setEnabled(False)
self.ui.heightSpinBox.setEnabled(False)
if index == 1:
self.ui.widthSpinBox.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):
self.ui.scaleSpinBox.setValue(float(value/1000.0))
def update_scale_spinbox(self, value):
self.ui.scaleSlider.setValue(int(value*1000))
def update_frame_padding_slider(self, value):
self.ui.framePaddingSpinBox.setValue(value)
def update_frame_padding_spinbox(self, value):
self.ui.framePaddingSlider.setValue(value)
def save_to_file_toggle(self):
if self.ui.saveToFileCheckBox.isChecked():
self.ui.browseButton.setEnabled(True)
self.ui.filePathTextBox.setEnabled(True)
else:
self.ui.browseButton.setEnabled(False)
self.ui.filePathTextBox.setEnabled(False)
def browse_files(self):
path = self.choose_save_path()
self.ui.filePathTextBox.setText(f"{path}")
def choose_save_path(self):
current_container = str(self.ui.formattingComboBox.currentText()).lower()
save_path, _ = QFileDialog.getSaveFileName(
None,
"Choose Save Location",
"",
f"Video (*.{current_container});;All Files (*)"
)
return save_path
def show_my_window():
global my_dialog
global tb_window
try:
my_dialog.close()
my_dialog.deleteLater()
tb_window.close()
tb_window.deleteLater()
except:
pass
my_dialog = MyDialog()
my_dialog.show()
tb_window = TinyblastOptionsWindow()
tb_window.show()
class MyPluginCommand(ompx.MPxCommand):
def __init__(self):
@ -208,6 +356,7 @@ def initializePlugin(mobject):
def uninitializePlugin(mobject):
try:
mplugin = ompx.MFnPlugin(mobject)
tb_window.close()
mplugin.deregisterCommand("tinyblast")
mplugin.deregisterCommand("myPluginCommand")
om.MGlobal.displayInfo("Tinyblast plugin unloaded.")