diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 6d5ec570..d33b5ad7 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -124,15 +124,15 @@ jobs: shell: cmd run: pyinstaller FastFlix_Windows_Installer.spec - - uses: skymatic/code-sign-action@v1 - with: - certificate: '${{ secrets.CODE_CERT_B64 }}' - password: '${{ secrets.CODE_CERT_PASS }}' - certificatesha1: '${{ secrets.CODE_CERT_THUMB }}' - description: 'FastFlix' - timestampUrl: 'http://timestamp.sectigo.com' - folder: 'dist\FastFlix' - recursive: false +# - uses: skymatic/code-sign-action@v1 +# with: +# certificate: '${{ secrets.CODE_CERT_B64 }}' +# password: '${{ secrets.CODE_CERT_PASS }}' +# certificatesha1: '${{ secrets.CODE_CERT_THUMB }}' +# description: 'FastFlix' +# timestampUrl: 'http://timestamp.sectigo.com' +# folder: 'dist\FastFlix' +# recursive: false - name: Package installer shell: cmd @@ -140,15 +140,15 @@ jobs: makensis.exe /INPUTCHARSET UTF8 /DVERSION=${{ env.EXACT_VERSION }} /DPRODUCT_VERSION=${{ env.PRODUCT_VERSION }} FastFlix.nsi move FastFlix_installer.exe dist\FastFlix_${{ env.VERSION }}_installer.exe - - uses: skymatic/code-sign-action@v1 - with: - certificate: '${{ secrets.CODE_CERT_B64 }}' - password: '${{ secrets.CODE_CERT_PASS }}' - certificatesha1: '${{ secrets.CODE_CERT_THUMB }}' - description: 'FastFlix' - timestampUrl: 'http://timestamp.sectigo.com' - folder: 'dist' - recursive: false +# - uses: skymatic/code-sign-action@v1 +# with: +# certificate: '${{ secrets.CODE_CERT_B64 }}' +# password: '${{ secrets.CODE_CERT_PASS }}' +# certificatesha1: '${{ secrets.CODE_CERT_THUMB }}' +# description: 'FastFlix' +# timestampUrl: 'http://timestamp.sectigo.com' +# folder: 'dist' +# recursive: false - name: Test executable run: | diff --git a/CHANGES b/CHANGES index fcba189d..e239d2a2 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,12 @@ # Changelog +## Version 5.8.2 + +* Fixing #610 Do not try to divide by zero if HDR metadata has bad values (thanks to Noelle Leigh) +* Fixing #616 replace correct cmd line option for IDC level (thanks to pkleinejaeger) +* Fixing too long of log file names could crash, limiting filename to 220 characters (thanks to ProFile) +* Removing code signing as cert has expired + ## Version 5.8.1 * Fixing #598 'dict' object has no attribute 'to_yaml' (thanks to dmo marillat) diff --git a/README.md b/README.md index 265dc422..cd72f9ee 100644 --- a/README.md +++ b/README.md @@ -124,10 +124,6 @@ FastFlix (v4.0.2+) passes through HLG color transfer information to everything e FastFlix does not plan to support Dolby Vision's proprietary format at this time. -# Support FastFlix - -Check out the different ways you can help [support FastFlix](https://github.com/cdgriffith/FastFlix/wiki/Support-FastFlix)! - # Multilingual Support FastFlix is machine translated using DeepL into Spanish (español), French (Français), German (Deutsch), diff --git a/fastflix/conversion_worker.py b/fastflix/conversion_worker.py index 526bdb60..e00c4ae6 100644 --- a/fastflix/conversion_worker.py +++ b/fastflix/conversion_worker.py @@ -39,7 +39,7 @@ def start_command(): log_queue.put(f"CLEAR_WINDOW:{video_uuid}:{command_uuid}") reusables.remove_file_handlers(logger) new_file_handler = reusables.get_file_handler( - log_path / sanitize_filename(f"flix_conversion_{log_name}_{file_date()}.log"), + log_path / sanitize_filename(f"flix_conversion_{log_name[:64]}_{file_date()}.log"), level=logging.DEBUG, log_format="%(asctime)s - %(message)s", encoding="utf-8", diff --git a/fastflix/data/languages.yaml b/fastflix/data/languages.yaml index 8900e7fd..aa6bd315 100644 --- a/fastflix/data/languages.yaml +++ b/fastflix/data/languages.yaml @@ -4953,21 +4953,6 @@ Success: ukr: Успіх kor: 성공 ron: Succes -Support FastFlix: - deu: Unterstützt FastFlix - eng: Support FastFlix - fra: Soutenez FastFlix - ita: Supporto FastFlix - spa: Soporta FastFlix - chs: 支持FastFlix - jpn: FastFlixを応援/寄付 - rus: Поддержка FastFlix - por: Suporte FastFlix - swe: Stöd för FastFlix - pol: Obsługa FastFlix - ukr: Підтримка FastFlix - kor: FastFlix 지원 - ron: Sprijină FastFlix Supported Image Files: deu: Unterstützte Bilddateien eng: Supported Image Files @@ -8730,7 +8715,7 @@ Drag and Drop to reorder: eng: Drag and Drop to reorder deu: Ziehen und Ablegen zum Neuordnen fra: Glisser et déposer pour réorganiser - ita: Per riordinare trascina e rilascia + ita: Per riordinare trascina e rilascia spa: Arrastrar y soltar para reordenar chs: 拖放重新排序 jpn: ドラッグ&ドロップで並び替え diff --git a/fastflix/encoders/vvc/command_builder.py b/fastflix/encoders/vvc/command_builder.py index cd996142..5d55c123 100644 --- a/fastflix/encoders/vvc/command_builder.py +++ b/fastflix/encoders/vvc/command_builder.py @@ -87,7 +87,7 @@ def build(fastflix: FastFlix): beginning += f"-tier:v {settings.tier} " if settings.levelidc: - beginning += f"-levelidc {settings.levelidc} " + beginning += f"-level {settings.levelidc} " vvc_params = settings.vvc_params.copy() or [] diff --git a/fastflix/flix.py b/fastflix/flix.py index 73e0b064..dd4c7a42 100644 --- a/fastflix/flix.py +++ b/fastflix/flix.py @@ -486,7 +486,12 @@ def convert_mastering_display(data: Box) -> Tuple[Box, str]: cll = None def s(a, v, base=50_000): - upper, lower = [int(x) for x in a.get(v, "0/0").split("/")] + try: + upper, lower = [int(x) for x in a.get(v, "0/0").split("/")] + except ValueError: + raise FlixError(f"Could not parse HDR value {a} from {v}") + if lower <= 0: # avoid division by zero + raise FlixError(f"HDR value outside expected range, {v} was {a}") if lower != base: upper *= base / lower value = int(upper) diff --git a/fastflix/version.py b/fastflix/version.py index 94a1f608..60506bfb 100644 --- a/fastflix/version.py +++ b/fastflix/version.py @@ -1,4 +1,4 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -__version__ = "5.8.1" +__version__ = "5.8.2" __author__ = "Chris Griffith" diff --git a/fastflix/widgets/about.py b/fastflix/widgets/about.py index 4d02a86d..85976b56 100644 --- a/fastflix/widgets/about.py +++ b/fastflix/widgets/about.py @@ -35,14 +35,6 @@ def __init__(self, app): label.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) layout.addWidget(label) - support_label = QtWidgets.QLabel( - f'{link("https://github.com/cdgriffith/FastFlix/wiki/Support-FastFlix", t("Support FastFlix"), app.fastflix.config.theme)}

' - ) - support_label.setOpenExternalLinks(True) - support_label.setFont(QtGui.QFont(self.app.font().family(), 12)) - support_label.setAlignment((QtCore.Qt.AlignCenter | QtCore.Qt.AlignTop)) - layout.addWidget(support_label) - bundle_label = QtWidgets.QLabel( f"{t('Conversion suites')}: {link('https://www.ffmpeg.org/download.html', 'FFmpeg', app.fastflix.config.theme)} ({t('Various')}), " f"{link('https://github.com/rigaya/NVEnc', 'NVEncC', app.fastflix.config.theme)} (MIT) " diff --git a/fastflix/widgets/main.py b/fastflix/widgets/main.py index ed993854..db164960 100644 --- a/fastflix/widgets/main.py +++ b/fastflix/widgets/main.py @@ -226,6 +226,7 @@ def __init__(self, parent, app: FastFlixApp): self.output_video_path_widget.setFixedHeight(20) self.output_video_path_widget.setFont(QtGui.QFont(self.app.font().family(), 9)) self.output_video_path_widget.setStyleSheet("padding: 0 0 -1px 5px") + self.output_video_path_widget.setMaxLength(220) # self.output_video_path_widget.textChanged.connect(lambda x: self.page_update(build_thumbnail=False)) self.video_path_widget.setEnabled(False)