Skip to content

Commit

Permalink
Version 4.10.0 (#360)
Browse files Browse the repository at this point in the history
* Adding AVIF support using libsvtav1
* Adding #352 default output directory to settings panel (thanks to Maddie Davis)
* Adding #306 support for audio profiles with pattern matching for rigaya's hardware encoders
* Adding #301 Select All feature for subtitles (thanks to ProFire and Genine-Collin)
* Adding #325 build for Ubuntu 22.04 (thanks to mrjayviper)
* Adding build for MacOS 12
* Adding #322 warning if profile audio match doesn't match anything (thanks to wynterca)
* Adding presumption that 4.x branch is last to support Windows 7 and 8 for update checks
* Fixing #319 no longer disables built in tracks for profile matching (thanks to Owen Quinlan)
* Fixing #218 and #308 subtitle scaling with rigaya's hardware encoders needs to be scaled for 4K content (thanks to wynterca)
* Fixing #350 subtitle burn in quoting (thanks to Maddie Davis)
* Fixing #346 preserve the order of audio tracks when editing a queued job (thanks to Patrick Bassner)
* Fixing #187 closing the main app while a progress bar is active will now stop that task (thanks to Todd Wilkinson)
* Fixing Chinese translations (thanks to leonardyan)
* Fixing new version check not launching at startup

Co-authored-by: leonardyan <64267563+leonardyan@users.noreply.github.com>
  • Loading branch information
cdgriffith and leonardyan authored Jul 21, 2022
1 parent adac2c1 commit ec54941
Show file tree
Hide file tree
Showing 41 changed files with 841 additions and 109 deletions.
111 changes: 110 additions & 1 deletion .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,63 @@ on:
branches: [ master, develop ]

jobs:
build-ubuntu22:
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v3

- uses: actions/setup-python@v3
with:
python-version: 3.8

- name: Gather build version
run: |
mkdir dist
echo "::set-env name=VERSION::$(python scripts/get_version.py)"
echo "Building branch ${{env.GITHUB_REF}} - version ${{env.VERSION}}"
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: true

- name: Install PySide2 apt requirements
run: |
sudo apt update
sudo apt install libopengl0 freeglut3 freeglut3-dev libxcb-icccm4 libxkbcommon-x11-0 libxcb-xkb1 libxcb-render-util0 libxcb-randr0 libxcb-keysyms1 libxcb-image0 -y
- uses: syphar/restore-pip-download-cache@v1

- name: Install pip requirements
run: |
python -m pip install --upgrade pip setuptools --ignore-installed
python -m pip install --upgrade wheel typing_extensions pyinstaller
python -m pip install --upgrade -r requirements.txt
- name: Grab iso-639 lists
run: |
cp $(python -c "import iso639; print(iso639.mapping.TABLE_PATH)") iso-639-3.tab
cp $(python -c "import iso639; print(iso639.mapping.MAPPING_PATH)") iso-639-3.json
- name: Build single executable
run: pyinstaller FastFlix_Nix_OneFile.spec

- name: Copy license to dist
run: |
cp docs/build-licenses.txt dist/LICENSE
- name: Test executable
run: |
chmod +x dist/FastFlix
dist/FastFlix --version
dist/FastFlix --test
- name: Upload standalone executable artifact
uses: actions/upload-artifact@v2
with:
name: FastFlix_${{ env.VERSION }}_ubuntu_22_x86_64
path: |
dist/FastFlix
dist/LICENSE
build-linux:
runs-on: ubuntu-20.04

Expand Down Expand Up @@ -58,7 +115,7 @@ jobs:
- name: Upload standalone executable artifact
uses: actions/upload-artifact@v2
with:
name: FastFlix_${{ env.VERSION }}_linux_x86_64
name: FastFlix_${{ env.VERSION }}_ubuntu_20_x86_64
path: |
dist/FastFlix
dist/LICENSE
Expand Down Expand Up @@ -250,3 +307,55 @@ jobs:
path: |
dist/FastFlix
dist/LICENSE
build-macos-12:

runs-on: macOS-12

steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.8

- name: Gather build version
run: |
mkdir dist
echo "::set-env name=VERSION::$(python scripts/get_version.py)"
echo "Building branch ${{env.GITHUB_REF}} - version ${{env.VERSION}}"
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: true

- uses: syphar/restore-pip-download-cache@v1

- name: Insatll requirements
run: |
python -m pip install --upgrade pip setuptools --ignore-installed
python -m pip install --upgrade wheel typing_extensions pyinstaller
python -m pip install --upgrade -r requirements.txt
- name: Grab iso-639 lists
run: |
cp $(python -c "import iso639; print(iso639.mapping.TABLE_PATH)") iso-639-3.tab
cp $(python -c "import iso639; print(iso639.mapping.MAPPING_PATH)") iso-639-3.json
- name: Build executable
run: pyinstaller FastFlix_Nix_OneFile.spec

- name: Copy license to dist
run: |
cp docs/build-licenses.txt dist/LICENSE
- name: Test executable
run: |
chmod +x dist/FastFlix
dist/FastFlix --version
dist/FastFlix --test
- name: Upload standalone executable artifact
uses: actions/upload-artifact@v2
with:
name: FastFlix_${{ env.VERSION }}_macos12
path: |
dist/FastFlix
dist/LICENSE
18 changes: 18 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
# Changelog

## Version 4.10.0

* Adding AVIF support using libsvtav1
* Adding #352 default output directory to settings panel (thanks to Maddie Davis)
* Adding #306 support for audio profiles with pattern matching for rigaya's hardware encoders
* Adding #301 Select All feature for subtitles (thanks to ProFire and Genine-Collin)
* Adding #325 build for Ubuntu 22.04 (thanks to mrjayviper)
* Adding build for MacOS 12
* Adding #322 warning if profile audio match doesn't match anything (thanks to wynterca)
* Adding presumption that 4.x branch is last to support Windows 7 and 8 for update checks
* Fixing #319 no longer disables built in tracks for profile matching (thanks to Owen Quinlan)
* Fixing #218 and #308 subtitle scaling with rigaya's hardware encoders needs to be scaled for 4K content (thanks to wynterca)
* Fixing #350 subtitle burn in quoting (thanks to Maddie Davis)
* Fixing #346 preserve the order of audio tracks when editing a queued job (thanks to Patrick Bassner)
* Fixing #187 closing the main app while a progress bar is active will now stop that task (thanks to Todd Wilkinson)
* Fixing Chinese translations (thanks to leonardyan)
* Fixing new version check not launching at startup

## Version 4.9.4

* Fixing Apple videotoolbox were not being listed as options (thanks to sublimal)
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License

Copyright (c) 2019-2021 Chris Griffith
Copyright (c) 2019-2022 Chris Griffith

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ FastFlix is a simple and friendly GUI for encoding videos.

FastFlix keeps HDR10 metadata for x265, NVEncC HEVC, and VCEEncC HEVC, which will also be expanded to AV1 libraries when available.

It needs `FFmpeg` (version 4.3 or greater) under the hood for the heavy lifting, and can work with a variety of encoders.
It needs `FFmpeg` (version 4.3 or greater required, 5.0+ recommended) under the hood for the heavy lifting, and can work with a variety of encoders.

Join us on [discord](https://discord.gg/GUBFP6f)!

Expand All @@ -18,14 +18,14 @@ Check out [the FastFlix github wiki](https://github.com/cdgriffith/FastFlix/wiki

FastFlix supports the following encoders if available:

| Encoder | x265 | NVENC HEVC | [NVEncC HEVC](https://github.com/rigaya/NVEnc/releases) | [VCEEncC HEVC](https://github.com/rigaya/VCEEnc/releases) | [QSVEncC HEVC](https://github.com/rigaya/QSVEnc/releases) | x264 | rav1e | AOM AV1 | SVT AV1 | VP9 | WEBP | GIF |
| --------- | ---- | ---------- | ----------- | ----------- | ----------- |------| ----- | ------- |-----| --- | ---- | --- |
| HDR10 || |||| | | ||* | | |
| HDR10+ || || | | | | | | | | |
| Audio |||* |* |* |||||| | |
| Subtitles |||||||||| | | |
| Covers ||| | | ||||| | | |
| bt.2020 ||||||||||| | |
| Encoder | x265 | NVENC HEVC | [NVEncC HEVC](https://github.com/rigaya/NVEnc/releases) | [VCEEncC HEVC](https://github.com/rigaya/VCEEnc/releases) | [QSVEncC HEVC](https://github.com/rigaya/QSVEnc/releases) | x264 | rav1e | AOM AV1 | SVT AV1 | VP9 |
| --------- | ---- | ---------- | ----------- | ----------- | ----------- |------| ----- | ------- |-----| --- |
| HDR10 || |||| | | ||* |
| HDR10+ || || | | | | | | |
| Audio |||* |* |* ||||||
| Subtitles |||||||||| |
| Covers ||| | | ||||| |
| bt.2020 |||||||||||

`✓ - Full support | ✓* - Limited support`

Expand Down Expand Up @@ -98,7 +98,7 @@ Check out the different ways you can help [support FastFlix](https://github.com/

# License

Copyright (C) 2019-2021 Chris Griffith
Copyright (C) 2019-2022 Chris Griffith

The code itself is licensed under the MIT which you can read in the `LICENSE` file. <br>
Read more about the release licensing in the [docs](docs/README.md) folder. <br>
Expand Down
2 changes: 1 addition & 1 deletion docs/build-licenses.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ FastFlix's is MIT licenced.

The MIT License

Copyright (c) 2019-2021 Chris Griffith
Copyright (c) 2019-2022 Chris Griffith

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
8 changes: 6 additions & 2 deletions fastflix/application.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# -*- coding: utf-8 -*-
import logging
import os
import sys

import coloredlogs
Expand All @@ -14,7 +13,7 @@
from fastflix.models.fastflix_app import FastFlixApp
from fastflix.program_downloads import ask_for_ffmpeg, latest_ffmpeg
from fastflix.resources import main_icon, breeze_styles_path, get_bool_env
from fastflix.shared import file_date, message
from fastflix.shared import file_date, message, latest_fastflix
from fastflix.version import __version__
from fastflix.widgets.container import Container
from fastflix.widgets.progress_bar import ProgressBar, Task
Expand Down Expand Up @@ -68,6 +67,7 @@ def init_encoders(app: FastFlixApp, **_):
from fastflix.encoders.vceencc_avc import main as vceencc_avc_plugin
from fastflix.encoders.hevc_videotoolbox import main as hevc_videotoolbox_plugin
from fastflix.encoders.h264_videotoolbox import main as h264_videotoolbox_plugin
from fastflix.encoders.svt_av1_avif import main as svt_av1_avif_plugin

encoders = [
hevc_plugin,
Expand All @@ -77,6 +77,7 @@ def init_encoders(app: FastFlixApp, **_):
av1_plugin,
rav1e_plugin,
svt_av1_plugin,
svt_av1_avif_plugin,
avc_plugin,
vp9_plugin,
gif_plugin,
Expand Down Expand Up @@ -194,6 +195,9 @@ def start_app(worker_queue, status_queue, log_queue, queue_list, queue_lock):
container = Container(app)
container.show()

if not app.fastflix.config.disable_version_check:
latest_fastflix(app=app, show_new_dialog=False)

try:
app.exec_()
except Exception:
Expand Down
Loading

0 comments on commit ec54941

Please sign in to comment.