diff --git a/UI/__pycache__/tinyblast_options.cpython-311.pyc b/UI/__pycache__/tinyblast_options.cpython-311.pyc
index 9bf954d..433c8a6 100644
Binary files a/UI/__pycache__/tinyblast_options.cpython-311.pyc and b/UI/__pycache__/tinyblast_options.cpython-311.pyc differ
diff --git a/UI/tinyblast_options.py b/UI/tinyblast_options.py
index ede217f..da81d41 100644
--- a/UI/tinyblast_options.py
+++ b/UI/tinyblast_options.py
@@ -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))
diff --git a/UI/tinyblast_options.ui b/UI/tinyblast_options.ui
index 8486fd0..9f8a996 100644
--- a/UI/tinyblast_options.ui
+++ b/UI/tinyblast_options.ui
@@ -71,6 +71,9 @@
-
+
+ 100
+
50
@@ -93,52 +96,6 @@
- -
-
-
-
- 80
- 0
-
-
-
-
- 80
- 16777215
-
-
-
-
-
- H.264
-
-
- -
-
- H.265
-
-
- -
-
- VP9
-
-
- -
-
- ProRes
-
-
- -
-
- AV1
-
-
- -
-
- MPEG-4
-
-
-
-
-
@@ -149,59 +106,6 @@
- -
-
-
-
- 80
- 0
-
-
-
-
- 80
- 16777215
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MP4
-
-
- -
-
- MKV
-
-
- -
-
- MOV
-
-
- -
-
- AVI
-
-
- -
-
- WebM
-
-
-
-
-
@@ -358,7 +262,7 @@
-
-
+
QAbstractSpinBox::NoButtons
@@ -374,7 +278,7 @@
-
-
+
QAbstractSpinBox::NoButtons
@@ -393,7 +297,7 @@
-
-
+
QAbstractSpinBox::NoButtons
@@ -409,7 +313,7 @@
-
-
+
false
@@ -434,7 +338,7 @@
-
-
+
false
@@ -462,6 +366,100 @@
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
-
+
+ HEVC (H.265)
+
+
+ -
+
+ H.264
+
+
+ -
+
+ AV1
+
+
+ -
+
+ MPEG-4
+
+
+ -
+
+ VP9
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+ MP4
+
+
+ -
+
+ MKV
+
+
+ -
+
+ MOV
+
+
+ -
+
+ AVI
+
+
+ -
+
+ WebM
+
+
+
+
diff --git a/tinyblast.py b/tinyblast.py
index b65f33e..1b718e4 100644
--- a/tinyblast.py
+++ b/tinyblast.py
@@ -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.")