Skip to content

Commit f3cfc88

Browse files
authored
Version 5.8.0 (#593)
* Adding #283 support for experimental DTS (dca) audio by adding -strict -2 (thanks to Sub7) * Adding #354 M1 support (thanks to Nhunz and Anton) * Adding #536 Improve Profiles - save advanced options (thanks to CelticTaonga and DCNerds) * Adding #568 center app on startup (thanks to Viet-Duc Le) * Adding #589 support for pydantic 2.x (thanks to dmo marillat) * Adding #592 Add alpha channel for VP9 (thjanks to subof) * Fixing #185 audio channels not being set properly and resetting on encoder change (thanks to Tupsi) * Fixing #522 add file fails - fixed as of 5.7.0 (thanks to pcl5x2008) * Fixing #531 list limitation in readme that FFmpeg must support the software encoders listed (thanks to brunoais) * Fixing #567 Profiles for WebP did not work (nor GIF dither) (thanks to jpert) * Fixing #582 BT.2020-10 Color transfer not maintained (thanks to Ryushin) * Fixing #585 error when trying to return a video from queue that has the video track after audio or subtitiles (thanks to Hankuu) * Fixing #586 audio channels being set incorrectly (thanks to Hankuu) * Fixing #588 audio and subtitle dispositions were not set from source (thanks to GeZorTenPlotZ)
1 parent 72dcbe1 commit f3cfc88

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+700
-347
lines changed

.github/workflows/build.yaml

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,22 @@ jobs:
99
build-nix:
1010
strategy:
1111
matrix:
12-
os: [ ubuntu-20.04, ubuntu-22.04, macos-12 ]
12+
os: [ ubuntu-20.04, ubuntu-22.04, macos-12, macos-14 ]
1313
runs-on: ${{ matrix.os }}
1414

1515
steps:
16-
- uses: actions/checkout@v3
16+
- uses: actions/checkout@v4
1717

18-
- uses: actions/setup-python@v4
18+
- uses: actions/setup-python@v5
1919
with:
2020
python-version: "3.12"
2121

2222
- name: Gather build version (*nix)
2323
run: |
2424
mkdir dist
2525
echo "::set-env name=VERSION::$(python scripts/get_version.py)"
26-
echo "Building branch ${{env.GITHUB_REF}} - version ${{env.VERSION}}"
26+
echo "::set-env name=ARCH::$(python scripts/get_arch.py)"
27+
echo Building branch ${{ env.GITHUB_REF }} - version ${{ env.VERSION }} - on ${{ env.ARCH }}
2728
env:
2829
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
2930

@@ -57,22 +58,34 @@ jobs:
5758
dist/FastFlix --version
5859
dist/FastFlix --test
5960
60-
- name: Upload standalone executable artifact
61-
uses: actions/upload-artifact@v3
61+
- name: Archive excutables
62+
run: |
63+
pushd dist
64+
7z a -mm=Deflate -mfb=258 -mpass=15 FastFlix_${{ env.VERSION }}_${{ matrix.os }}_${{ env.ARCH }}.zip *
65+
popd
66+
67+
- name: Build Mac App
68+
if : ${{ startsWith(matrix.os, 'macos') }}
69+
run: |
70+
python scripts/build_mac_app.py ${{ matrix.os }}
71+
pushd dist
72+
7z a -mm=Deflate -mfb=258 -mpass=15 FastFlix_${{ env.VERSION }}_appbundle_${{ matrix.os }}_${{ env.ARCH }}.zip FastFlix.app
73+
popd
74+
75+
- name: Upload executable artifacts
76+
uses: actions/upload-artifact@v4
6277
with:
63-
name: FastFlix_${{ env.VERSION }}_${{ matrix.os }}_x86_64
64-
path: |
65-
dist/FastFlix
66-
dist/LICENSE
78+
name: FastFlix_${{ env.VERSION }}_OUTER_DO_NOT_UPLOAD_${{ matrix.os }}_${{ env.ARCH }}
79+
path: dist/*.zip
6780

6881

6982
build-windows-2022:
7083

7184
runs-on: windows-2022
7285

7386
steps:
74-
- uses: actions/checkout@v3
75-
- uses: actions/setup-python@v4
87+
- uses: actions/checkout@v4
88+
- uses: actions/setup-python@v5
7689
with:
7790
python-version: "3.12"
7891

@@ -145,7 +158,7 @@ jobs:
145158
move docs\build-licenses.txt LICENSE
146159
147160
- name: Upload standalone executable artifact
148-
uses: actions/upload-artifact@v3
161+
uses: actions/upload-artifact@v4
149162
with:
150163
name: FastFlix_${{ env.VERSION }}_win64
151164
path: |

.github/workflows/pythonpublish.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ jobs:
1313
runs-on: ubuntu-latest
1414

1515
steps:
16-
- uses: actions/checkout@v3
16+
- uses: actions/checkout@v4
1717

1818
- name: Set up Python
19-
uses: actions/setup-python@v4
19+
uses: actions/setup-python@v5
2020
with:
2121
python-version: '3.12'
2222

.github/workflows/test.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,22 @@ jobs:
1212
runs-on: ubuntu-22.04
1313

1414
steps:
15-
- uses: actions/checkout@v3
15+
- uses: actions/checkout@v4
1616

17-
- uses: actions/setup-python@v3
17+
- uses: actions/setup-python@v5
1818
with:
1919
python-version: "3.12"
2020

21-
- run: pip install black==23.7.0
21+
- run: pip install black==24.8.0
2222
- run: python -m black --check .
2323

2424
test:
2525
runs-on: ubuntu-22.04
2626

2727
steps:
28-
- uses: actions/checkout@v3
28+
- uses: actions/checkout@v4
2929

30-
- uses: actions/setup-python@v3
30+
- uses: actions/setup-python@v5
3131
with:
3232
python-version: "3.12"
3333

.pre-commit-config.yaml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
repos:
22
- repo: https://github.com/pre-commit/pre-commit-hooks
3-
rev: v4.4.0
3+
rev: v4.6.0
44
hooks:
55
- id: mixed-line-ending
66
- id: trailing-whitespace
@@ -12,14 +12,18 @@ repos:
1212
- id: check-byte-order-marker
1313
- id: debug-statements
1414
- id: check-added-large-files
15-
exclude: tests/media/.+
15+
exclude: |
16+
(?x)^(
17+
tests/media/.+|
18+
^fastflix/data/icon.icns
19+
)$
1620
- id: check-case-conflict
1721
- id: check-executables-have-shebangs
1822
- id: check-toml
1923
- id: detect-private-key
2024
- id: end-of-file-fixer
2125
- repo: https://github.com/psf/black
22-
rev: 23.7.0
26+
rev: 24.8.0
2327
hooks:
2428
- id: black
2529
# - repo: https://github.com/pre-commit/mirrors-mypy

CHANGES

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,23 @@
11
# Changelog
22

3+
## Version 5.8.0
4+
5+
* Adding #283 support for experimental DTS (dca) audio by adding -strict -2 (thanks to Sub7)
6+
* Adding #354 M1 support (thanks to Nhunz and Anton)
7+
* Adding #536 Improve Profiles - save advanced options (thanks to CelticTaonga and DCNerds)
8+
* Adding #568 center app on startup (thanks to Viet-Duc Le)
9+
* Adding #587 Distribute a mac app bundle (thanks to Ivan Novokhatski)
10+
* Adding #589 support for pydantic 2.x (thanks to dmo marillat)
11+
* Adding #592 Add alpha channel for VP9 (thjanks to subof)
12+
* Fixing #185 audio channels not being set properly and resetting on encoder change (thanks to Tupsi)
13+
* Fixing #522 add file fails - fixed as of 5.7.0 (thanks to pcl5x2008)
14+
* Fixing #531 list limitation in readme that FFmpeg must support the software encoders listed (thanks to brunoais)
15+
* Fixing #567 Profiles for WebP did not work (nor GIF dither) (thanks to jpert)
16+
* Fixing #582 BT.2020-10 Color transfer not maintained (thanks to Ryushin)
17+
* Fixing #585 error when trying to return a video from queue that has the video track after audio or subtitiles (thanks to Hankuu)
18+
* Fixing #586 audio channels being set incorrectly (thanks to Hankuu)
19+
* Fixing #588 audio and subtitle dispositions were not set from source (thanks to GeZorTenPlotZ)
20+
321
## Version 5.7.4
422

523
* Fixing #579 Missing Infos and no Mouse-Over info in Subs-Panel since 5.7 (thanks to GeZorTenPlotZ)

FastFlix_Nix_OneFile.spec

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# -*- mode: python ; coding: utf-8 -*-
22
from PyInstaller.utils.hooks import collect_submodules
33
import toml
4+
import os
5+
import platform
46

57
block_cipher = None
68

@@ -37,6 +39,7 @@ a = Analysis(['fastflix/__main__.py'],
3739
noarchive=False)
3840
pyz = PYZ(a.pure, a.zipped_data,
3941
cipher=block_cipher)
42+
4043
exe = EXE(pyz,
4144
a.scripts,
4245
a.binaries,
@@ -50,4 +53,7 @@ exe = EXE(pyz,
5053
upx=False,
5154
upx_exclude=[],
5255
runtime_tmpdir=None,
53-
console=True , icon='fastflix/data/icon.ico')
56+
target_arch='arm64' if 'arm64' in platform.platform() else 'x86_64',
57+
console=True,
58+
icon='fastflix/data/icon.ico'
59+
)

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ Check out [the FastFlix github wiki](https://github.com/cdgriffith/FastFlix/wiki
2323
| Covers |||||| ||
2424
| bt.2020 ||||||||
2525

26+
If one of the above software encoders is not listed, it is due to your version of FFmpeg not having that encoder compiled in.
27+
2628
## Hardware Encoders
2729

2830
These will require the appropriate hardware. Nvidia GPU for NVEnc, Intel GPU/CPU for QSVEnc, and AMD GPU for VCEEnc.

fastflix/application.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,8 @@ def app_setup(
233233
container = Container(app)
234234
container.show()
235235

236+
container.move(QtGui.QGuiApplication.primaryScreen().availableGeometry().center() - container.rect().center())
237+
236238
if not app.fastflix.config.disable_version_check:
237239
latest_fastflix(app=app, show_new_dialog=False)
238240

fastflix/command_runner.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,10 @@ def change_priority(
110110
logger.exception(f"Could not set process priority to {new_priority}")
111111

112112
def read_output(self):
113-
with open(self.output_file, "r", encoding="utf-8", errors="ignore") as out_file, open(
114-
self.error_output_file, "r", encoding="utf-8", errors="ignore"
115-
) as err_file:
113+
with (
114+
open(self.output_file, "r", encoding="utf-8", errors="ignore") as out_file,
115+
open(self.error_output_file, "r", encoding="utf-8", errors="ignore") as err_file,
116+
):
116117
while True:
117118
time.sleep(0.01)
118119
if not self.is_alive():

fastflix/data/Info.plist.template

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>CFBundleDevelopmentRegion</key>
6+
<string>English</string>
7+
<key>CFBundleExecutable</key>
8+
<string>FastFlix</string>
9+
<key>CFBundleInfoDictionaryVersion</key>
10+
<string>6.0</string>
11+
<key>CFBundleIconFile</key>
12+
<string>icon.icns</string>
13+
<key>CFBundleIdentifier</key>
14+
<string>com.github.cdgriffith.FastFlix</string>
15+
<key>CFBundlePackageType</key>
16+
<string>APPL</string>
17+
<key>CFBundleSignature</key>
18+
<string>PURE</string>
19+
<key>CFBundleVersion</key>
20+
<string>{version}</string>
21+
<key>CFBundleName</key>
22+
<string>FastFlix</string>
23+
<key>CSResourcesFileMapped</key>
24+
<true/>
25+
<key>NSHighResolutionCapable</key>
26+
<true/>
27+
<key>NSDisablePersistence</key>
28+
<true/>
29+
<key>LSMinimumSystemVersion</key>
30+
<string>{mac_version}</string>
31+
</dict>
32+
</plist>

0 commit comments

Comments
 (0)