Skip to content

Commit

Permalink
Version 5.2.0 (#407)
Browse files Browse the repository at this point in the history
* Adding #100 Output format selection (thanks to me)
* Adding #227 load directory of videos support (thanks to Chris / moonwhaler and a lot of others)
* Adding #233 Versatile Video Coding (aka x266) support (thanks to F.O.R.A.R.T.)
* Adding #200 #320 #373 UI scaling (thanks to tyeeman, wynterca and reza)
* Adding #367 safer font defaults (thanks to Archer Allstars)
* Adding #242 and #400 resolution saves to the profile (thanks to x9sim9)
* Adding #409 Copy video track title information from input file (thanks to Don Gafford)
* Adding #422 Add ICQ and LA-ICQ for rigayas QSV (thanks to @Bender1984)
* Adding pip builds again allow for `pipx` install
* Adding Ukrainian ( Українська ) language support
* Adding Korean ( 한국어 ) language support
* Adding default log cleanup on exit, can be disabled in settings
* Fixing #332 Command Window always shows "qt.svg: Cannot open file" errors (thanks to Wontell)
* Fixing #350 Unable to burn in subtitles (thanks to Maddie Davis)
* Fixing #398 audio and subtitles disabled when editing queue item (thanks to philblue1 and Don Gafford)
* Fixing #413 Wrong equalizer settings with not US locales (thanks to Massimo Pissarello)
* Fixing #421 Queue extras were not ever being cleaned up (thanks to Maddie Davis)
* Fixing QSV AV1 setting panel issues
* Fixing app could crash on startup if could not check for updates to github due to rate limiting
* Fixing removing legacy pkg_resources for importlib.resources
  • Loading branch information
cdgriffith authored Mar 9, 2023
1 parent cfea12b commit 1967921
Show file tree
Hide file tree
Showing 95 changed files with 3,057 additions and 846 deletions.
204 changes: 32 additions & 172 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,34 +6,44 @@ on:
branches: [ master, develop ]

jobs:
build-ubuntu22:
runs-on: ubuntu-22.04
build-nix:
strategy:
matrix:
os: [ ubuntu-22.04, macos-12, macos-11 ]
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v3

- uses: actions/setup-python@v4
with:
python-version: "3.10"
python-version: "3.11"

- name: Gather build version
- name: Gather build version (*nix)
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 PySide6 apt requirements
- name: Install PySide6 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
if: ${{ startsWith(matrix.os, 'ubuntu') }}

- name: Install pip requirements
- name: Install Python Dependencies
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
python -m pip install --upgrade pip setuptools poetry --ignore-installed
poetry config virtualenvs.create false --local
- name: Poetry Install
run: poetry install --with dev --with test
continue-on-error: true

- name: Poetry Install 2
run: poetry install --with dev --with test

- name: Grab iso-639 lists
run: |
Expand All @@ -56,65 +66,11 @@ jobs:
- name: Upload standalone executable artifact
uses: actions/upload-artifact@v3
with:
name: FastFlix_${{ env.VERSION }}_ubuntu_22_x86_64
name: FastFlix_${{ env.VERSION }}_${{ matrix.os }}_x86_64
path: |
dist/FastFlix
dist/LICENSE
build-ubuntu20:
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v3

- uses: actions/setup-python@v4
with:
python-version: "3.10"

- 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 PySide6 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
- 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@v3
with:
name: FastFlix_${{ env.VERSION }}_ubuntu_20_x86_64
path: |
dist/FastFlix
dist/LICENSE
build-windows-2022:

Expand All @@ -124,7 +80,7 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.10"
python-version: "3.11"

- name: Gather build version
shell: powershell
Expand All @@ -136,12 +92,18 @@ jobs:
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: true

- name: Insatll requirements
shell: cmd
- name: Install Python Dependencies
run: |
python -m pip install --upgrade pip setuptools --ignore-installed
python -m pip install --upgrade pypiwin32 wheel typing_extensions pyinstaller
python -m pip install -r requirements.txt
python -m pip install --upgrade pip setuptools poetry --ignore-installed
poetry config virtualenvs.create false --local
- name: Poetry Install
run: poetry install --with dev
continue-on-error: true

- name: Poetry Install 2
run: poetry install --with dev


- name: Grab iso-639 lists
shell: powershell
Expand Down Expand Up @@ -197,105 +159,3 @@ jobs:
with:
name: FastFlix_${{ env.VERSION }}_installer
path: FastFlix_${{ env.VERSION }}_installer.exe

build-macos-11:

runs-on: macos-11

steps:
- uses: actions/checkout@v3

- uses: actions/setup-python@v4
with:
python-version: "3.10"

- 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: 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@v3
with:
name: FastFlix_${{ env.VERSION }}_macos11
path: |
dist/FastFlix
dist/LICENSE
build-macos-12:

runs-on: macos-12

steps:
- uses: actions/checkout@v3

- uses: actions/setup-python@v4
with:
python-version: "3.10"

- 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: 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@v3
with:
name: FastFlix_${{ env.VERSION }}_macos12
path: |
dist/FastFlix
dist/LICENSE
29 changes: 14 additions & 15 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,45 +9,44 @@ on:

jobs:
lint:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v3

- uses: actions/setup-python@v3
with:
python-version: "3.10"
python-version: "3.11"

- uses: actions/cache@v2
with:
path: ${{ env.pythonLocation }}
key: ${{ env.pythonLocation }}-black

- run: pip install black==22.10.0
- run: pip install black==23.1.0
- run: python -m black --check .

test:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v3

- uses: actions/setup-python@v3
with:
python-version: "3.10"
python-version: "3.11"

- name: Install PySide6 requirements
run: |
sudo apt update
sudo apt install libopengl0 freeglut3 freeglut3-dev -y
- uses: syphar/restore-pip-download-cache@v1

- name: Install requirements
run: |
python -m pip install --upgrade pip setuptools
python -m pip install --upgrade -r requirements.txt
python -m pip install --upgrade -r requirements-test.txt
python -m pip install --upgrade pip setuptools poetry
poetry config virtualenvs.create false --local
- name: Poetry Install
run: poetry install --with dev
continue-on-error: true

- name: Poetry Install 2
run: poetry install --with dev

- name: Run tests
env:
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ repos:
- id: detect-private-key
- id: end-of-file-fixer
- repo: https://github.com/psf/black
rev: 22.10.0
rev: 23.1.0
hooks:
- id: black
# - repo: https://github.com/pre-commit/mirrors-mypy
Expand Down
23 changes: 23 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,5 +1,28 @@
# Changelog

## Version 5.2.0

* Adding #100 Output format selection (thanks to me)
* Adding #227 load directory of videos support (thanks to Chris / moonwhaler and a lot of others)
* Adding #233 Versatile Video Coding (aka x266) support (thanks to F.O.R.A.R.T.)
* Adding #200 #320 #373 UI scaling (thanks to tyeeman, wynterca and reza)
* Adding #367 safer font defaults (thanks to Archer Allstars)
* Adding #242 and #400 resolution saves to the profile (thanks to x9sim9)
* Adding #409 Copy video track title information from input file (thanks to Don Gafford)
* Adding #422 Add ICQ and LA-ICQ for rigayas QSV (thanks to @bender1984)
* Adding pip builds again allow for `pipx` install
* Adding Ukrainian ( Українська ) language support
* Adding Korean ( 한국어 ) language support
* Adding default log cleanup on exit, can be disabled in settings
* Fixing #332 Command Window always shows "qt.svg: Cannot open file" errors (thanks to Wontell)
* Fixing #350 Unable to burn in subtitles (thanks to Maddie Davis)
* Fixing #398 audio and subtitles disabled when editing queue item (thanks to philblue1 and Don Gafford)
* Fixing #413 Wrong equalizer settings with not US locales (thanks to Massimo Pissarello)
* Fixing #421 Queue extras were not ever being cleaned up (thanks to Maddie Davis)
* Fixing QSV AV1 setting panel issues
* Fixing app could crash on startup if could not check for updates to github due to rate limiting
* Fixing removing legacy pkg_resources for importlib.resources

## Version 5.1.0

* Adding AV1 support for rigaya's AMD hardware encoder!
Expand Down
2 changes: 1 addition & 1 deletion FastFlix_Nix_OneFile.spec
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ for root, dirs, files in os.walk('fastflix'):
all_imports = collect_submodules('pydantic') + ['dataclasses', 'colorsys', 'typing_extensions', 'box']
with open("requirements.txt", "r") as reqs:
for line in reqs:
package = line.split("[")[0].split("=")[0].split(">")[0].split("<")[0].replace('"', '').replace("'", '').strip()
package = line.split("[")[0].split("=")[0].split(">")[0].split("<")[0].replace('"', '').replace("'", '').rstrip("~").strip()
if package not in ("pyinstaller", "pypiwin32"):
all_imports.append(package)

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-2022 Chris Griffith
Copyright (c) 2019-2023 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
Loading

0 comments on commit 1967921

Please sign in to comment.