aboutsummaryrefslogtreecommitdiff
path: root/src/avp/gui/mainwindow.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/avp/gui/mainwindow.py')
-rw-r--r--src/avp/gui/mainwindow.py46
1 files changed, 25 insertions, 21 deletions
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())