diff options
Diffstat (limited to 'src/avp/gui')
| -rw-r--r-- | src/avp/gui/actions.py | 10 | ||||
| -rw-r--r-- | src/avp/gui/mainwindow.py | 46 | ||||
| -rw-r--r-- | src/avp/gui/presetmanager.py | 4 | ||||
| -rw-r--r-- | src/avp/gui/preview_thread.py | 16 |
4 files changed, 41 insertions, 35 deletions
diff --git a/src/avp/gui/actions.py b/src/avp/gui/actions.py index 654b2a0..6a01bdd 100644 --- a/src/avp/gui/actions.py +++ b/src/avp/gui/actions.py @@ -1,5 +1,5 @@ """ -QCommand classes for every undoable user action performed in the MainWindow +QUndoCommand classes for every undoable user action performed in the MainWindow """ from PyQt6.QtGui import QUndoCommand @@ -13,9 +13,9 @@ from ..core import Core log = logging.getLogger("AVP.Gui.Actions") -# =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~==~=~=~=~=~=~=~=~=~=~=~=~=~=~ +# =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ # COMPONENT ACTIONS -# =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~==~=~=~=~=~=~=~=~=~=~=~=~=~=~ +# =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ class AddComponent(QUndoCommand): @@ -107,9 +107,9 @@ class MoveComponent(QUndoCommand): self.do(self.newRow, self.row) -# =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~==~=~=~=~=~=~=~=~=~=~=~=~=~=~ +# =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ # PRESET ACTIONS -# =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~==~=~=~=~=~=~=~=~=~=~=~=~=~=~ +# =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ class ClearPreset(QUndoCommand): diff --git a/src/avp/gui/mainwindow.py b/src/avp/gui/mainwindow.py index 3221783..fac1e41 100644 --- a/src/avp/gui/mainwindow.py +++ b/src/avp/gui/mainwindow.py @@ -25,7 +25,7 @@ from . import preview_thread from .preview_win import PreviewWindow from .presetmanager import PresetManager from .actions import * -from ..toolkit.ffmpeg import createFfmpegCommand +from ..toolkit.ffmpeg import createFfmpegCommand, checkFfmpegVersion from ..toolkit import ( disableWhenEncoding, disableWhenOpeningProject, @@ -330,26 +330,13 @@ class MainWindow(QtWidgets.QMainWindow): ) else: if not self.settings.value("ffmpegMsgShown"): - try: - with open(os.devnull, "w") as f: - ffmpegVers = checkOutput( - [self.core.FFMPEG_BIN, "-version"], stderr=f - ) - ffmpegVers = str(ffmpegVers).split()[2].split(".", 1)[0] - if ffmpegVers.startswith("n"): - ffmpegVers = ffmpegVers[1:] - goodVersion = int(ffmpegVers) > 3 - except Exception: - goodVersion = False - else: - goodVersion = True - - if not goodVersion: - self.showMessage( - msg="You're using an old version of Ffmpeg. " - "Some features may not work as expected." - ) - self.settings.setValue("ffmpegMsgShown", True) + ffmpegGoodVersion, ffmpegVersionNum = checkFfmpegVersion() + if not ffmpegGoodVersion: + self.showMessage( + msg="The version of FFmpeg ({ffmpegVersionNum}) is " + "not recognized. Some features may not work as expected." + ) + self.settings.setValue("ffmpegMsgShown", True) # Hotkeys for projects @@ -734,6 +721,23 @@ class MainWindow(QtWidgets.QMainWindow): self.progressLabel.setText(value) else: self.progressBar_createVideo.setFormat(value) + if log.getEffectiveLevel() > logging.INFO: + # if ffmpeg is quiet, print progress ourselves + if any( + [ + value.startswith("Export C"), + value.startswith("Analyzing"), + value.startswith("Loading"), + ] + ): + # Don't duplicate completion/failure messages or send too many messages + return + elif not value.startswith("Exporting"): + print(value) + else: + # overwrite previous message with next one + # if the text is our main export progress + print(f"\r{value}", end="") def updateResolution(self): resIndex = int(self.comboBox_resolution.currentIndex()) diff --git a/src/avp/gui/presetmanager.py b/src/avp/gui/presetmanager.py index ca0029d..bdcff91 100644 --- a/src/avp/gui/presetmanager.py +++ b/src/avp/gui/presetmanager.py @@ -25,9 +25,7 @@ class PresetManager(QtWidgets.QDialog): self.settings = parent.settings self.presetDir = parent.presetDir if not self.settings.value("presetDir"): - self.settings.setValue( - "presetDir", os.path.join(parent.dataDir, "projects") - ) + self.settings.setValue("presetDir", os.path.join(parent.dataDir, "presets")) self.findPresets() diff --git a/src/avp/gui/preview_thread.py b/src/avp/gui/preview_thread.py index a59652a..8507f45 100644 --- a/src/avp/gui/preview_thread.py +++ b/src/avp/gui/preview_thread.py @@ -61,7 +61,10 @@ class Worker(QtCore.QObject): for component in reversed(components): try: component.lockSize(width, height) - newFrame = component.previewRender() + if "composite" in component.properties(): + newFrame = component.previewRender(frame) + else: + newFrame = component.previewRender() component.unlockSize() frame = Image.alpha_composite(frame, newFrame) @@ -72,11 +75,12 @@ class Worker(QtCore.QObject): % ( str(component), str(e).capitalize(), - "is None" if newFrame is None else "size was %s*%s; should be %s*%s" % ( - newFrame.width, - newFrame.height, - width, - height), + ( + "is None" + if newFrame is None + else "size was %s*%s; should be %s*%s" + % (newFrame.width, newFrame.height, width, height) + ), ) ) log.critical(errMsg) |
