Skip to content

Commit 792ce03

Browse files
authored
Merge branch 'master' into supahfox-patch-1
2 parents fe048b3 + f0ba665 commit 792ce03

File tree

20 files changed

+319
-298
lines changed

20 files changed

+319
-298
lines changed

Diff for: .github/workflows/main.yml

+31-18
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,35 @@ on:
44
push:
55
branches:
66
- master
7+
- main
78
jobs:
89
build-win64:
910
runs-on: windows-latest
1011
steps:
11-
- uses: actions/checkout@v4
12-
- name: Setup Python 3.9
12+
- name: Checkout Repository
13+
uses: actions/checkout@v4
14+
- name: Setup Python 3.13
1315
uses: actions/setup-python@v5
1416
with:
15-
python-version: 3.9
16-
- uses: git-for-windows/setup-git-for-windows-sdk@v1
17+
python-version: 3.13
18+
- name: Setup git SDK
19+
uses: git-for-windows/setup-git-for-windows-sdk@v1
1720
with:
1821
flavor: minimal
22+
- name: Download mpv
23+
id: mpv
24+
uses: nguyenngoclongdev/[email protected]
25+
with:
26+
repository: 'shinchiro/mpv-winbuild-cmake'
27+
latest: true
28+
fileName: 'mpv-dev-x86_64-v3*.7z'
1929
- name: Install dependencies
2030
run: |
21-
curl -L https://github.com/shinchiro/mpv-winbuild-cmake/releases/download/20240513/mpv-dev-x86_64-20240513-git-61f72bd.7z > mpv.7z
22-
7z x mpv.7z
31+
7z x "${{ fromJson(steps.mpv.outputs.downloaded_files)[0] }}"
2332
mv libmpv-2.dll mpv-2.dll
2433
pip install wheel
25-
pip install git+https://github.com/pythonnet/pythonnet@438bcdd3f0b2e2ee358b407cfc96e4385e5783fc
26-
pip install .[all] pywebview==3.4 pywin32==304
34+
pip install .[all] pythonnet pywebview pywin32
2735
./gen_pkg.sh --skip-build
28-
python ./get_pywebview_natives.py
2936
shell: bash
3037
- name: PyInstaller Bootloader
3138
run: |
@@ -47,24 +54,30 @@ jobs:
4754
build-win32:
4855
runs-on: windows-latest
4956
steps:
50-
- uses: actions/checkout@v4
51-
- name: Setup Python 3.9
57+
- name: Checkout Repository
58+
uses: actions/checkout@v4
59+
- name: Setup Python 3.13
5260
uses: actions/setup-python@v5
5361
with:
54-
python-version: 3.9
55-
- uses: git-for-windows/setup-git-for-windows-sdk@v1
62+
python-version: 3.13
63+
- name: Setup git SDK
64+
uses: git-for-windows/setup-git-for-windows-sdk@v1
5665
with:
5766
flavor: minimal
67+
- name: Download mpv
68+
id: mpv
69+
uses: nguyenngoclongdev/[email protected]
70+
with:
71+
repository: 'shinchiro/mpv-winbuild-cmake'
72+
latest: true
73+
fileName: 'mpv-dev-i686*.7z'
5874
- name: Install dependencies
5975
run: |
60-
curl -L https://github.com/shinchiro/mpv-winbuild-cmake/releases/download/20240513/mpv-dev-i686-20240513-git-61f72bd.7z > mpv.7z
61-
7z x mpv.7z
76+
7z x "${{ fromJson(steps.mpv.outputs.downloaded_files)[0] }}"
6277
mv libmpv-2.dll mpv-2.dll
6378
pip install wheel
64-
pip install git+https://github.com/pythonnet/pythonnet@438bcdd3f0b2e2ee358b407cfc96e4385e5783fc
65-
pip install .[all] pywebview==3.4 pywin32==304
79+
pip install .[all] pythonnet pywebview pywin32
6680
./gen_pkg.sh --skip-build
67-
python ./get_pywebview_natives.py
6881
shell: bash
6982
- name: PyInstaller Bootloader
7083
run: |

Diff for: CONTRIBUTING.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ starting development on a feature. If you PR a feature with required dependencie
3434
optional ones.
3535

3636
Current Dependencies:
37-
- `python-mpv` - Provides `libmpv1` playback backend.
37+
- `python-mpv` - Provides `libmpv` playback backend.
3838
- `python-mpv-jsonipc` - Provides `mpv` playback backend. (First-Party)
3939
- `jellyfin-apiclient-python` - Provides API client to Jellyfin. (First-Party)
4040
- `pywin32` - Allows window management on Windows. (Optional)
@@ -68,7 +68,7 @@ Current Dependencies:
6868
- `rich_presence.py` - Module which implements Discord Rich Presence integration.
6969
- `svp_integration.py` - Implements SVP API and menu functionality for controlling SVP.
7070
- `syncplay.py` - Implements the SyncPlay time syncing events and algorithms.
71-
- Note that time syncing with the server is [part of the api client](https://github.com/iwalton3/jellyfin-apiclient-python/blob/master/jellyfin_apiclient_python/timesync_manager.py).
71+
- Note that time syncing with the server is [part of the api client](https://github.com/jellyfin/jellyfin-apiclient-python/blob/master/jellyfin_apiclient_python/timesync_manager.py).
7272
- `timeline.py` - Thread to trigger playback events to the Jellyfin server.
7373
- Note: `player.py` is where the actual response is created.
7474
- `update_check.py` - Implements update checking, notifications, and the menu option to open the release page.

Diff for: README.md

+230-209
Large diffs are not rendered by default.

Diff for: build-win-32.bat

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
@echo off
22
rd /s /q __pycache__ dist build
33
set PATH=%PATH%;%CD%
4-
pyinstaller -w --add-binary "mpv-2.dll;." --add-data "jellyfin_mpv_shim\mouse.lua;jellyfin_mpv_shim" --add-data "jellyfin_mpv_shim\trickplay-osc.lua;jellyfin_mpv_shim" --add-data "jellyfin_mpv_shim\thumbfast.lua;jellyfin_mpv_shim" --hidden-import pystray._win32 --add-data "jellyfin_mpv_shim\default_shader_pack;jellyfin_mpv_shim\default_shader_pack" --add-data "jellyfin_mpv_shim\messages;jellyfin_mpv_shim\messages" --add-data "jellyfin_mpv_shim\systray.png;jellyfin_mpv_shim" --add-data "jellyfin_mpv_shim\display_mirror\index.html;jellyfin_mpv_shim\display_mirror" --add-data "jellyfin_mpv_shim\display_mirror\jellyfin.css;jellyfin_mpv_shim\display_mirror" --add-binary "Microsoft.Toolkit.Forms.UI.Controls.WebView.dll;." --icon jellyfin.ico run.py
4+
pyinstaller -w --add-binary "mpv-2.dll;." --add-data "jellyfin_mpv_shim\mouse.lua;jellyfin_mpv_shim" --add-data "jellyfin_mpv_shim\trickplay-osc.lua;jellyfin_mpv_shim" --add-data "jellyfin_mpv_shim\thumbfast.lua;jellyfin_mpv_shim" --hidden-import pystray._win32 --add-data "jellyfin_mpv_shim\default_shader_pack;jellyfin_mpv_shim\default_shader_pack" --add-data "jellyfin_mpv_shim\messages;jellyfin_mpv_shim\messages" --add-data "jellyfin_mpv_shim\systray.png;jellyfin_mpv_shim" --add-data "jellyfin_mpv_shim\display_mirror\index.html;jellyfin_mpv_shim\display_mirror" --add-data "jellyfin_mpv_shim\display_mirror\jellyfin.css;jellyfin_mpv_shim\display_mirror" --icon jellyfin.ico run.py
55
if %errorlevel% neq 0 exit /b %errorlevel%
66
del dist\run\run.exe.manifest
77
copy hidpi.manifest dist\run\run.exe.manifest

Diff for: build-win-dbg.bat

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
rd /s /q __pycache__ build
33
rd /s /q dist\run
44
set PATH=%PATH%;%CD%
5-
pyinstaller -c --add-binary "mpv-2.dll;." --add-data "jellyfin_mpv_shim\mouse.lua;jellyfin_mpv_shim" --add-data "jellyfin_mpv_shim\systray.png;jellyfin_mpv_shim" --add-data "jellyfin_mpv_shim\default_shader_pack;jellyfin_mpv_shim\default_shader_pack" --add-data "jellyfin_mpv_shim\messages;jellyfin_mpv_shim\messages" --add-data "jellyfin_mpv_shim\display_mirror\index.html;jellyfin_mpv_shim\display_mirror" --add-data "jellyfin_mpv_shim\display_mirror\jellyfin.css;jellyfin_mpv_shim\display_mirror" --add-binary "Microsoft.Toolkit.Forms.UI.Controls.WebView.dll;." --icon jellyfin.ico run.py
5+
pyinstaller -c --add-binary "mpv-2.dll;." --add-data "jellyfin_mpv_shim\mouse.lua;jellyfin_mpv_shim" --add-data "jellyfin_mpv_shim\systray.png;jellyfin_mpv_shim" --add-data "jellyfin_mpv_shim\default_shader_pack;jellyfin_mpv_shim\default_shader_pack" --add-data "jellyfin_mpv_shim\messages;jellyfin_mpv_shim\messages" --add-data "jellyfin_mpv_shim\display_mirror\index.html;jellyfin_mpv_shim\display_mirror" --add-data "jellyfin_mpv_shim\display_mirror\jellyfin.css;jellyfin_mpv_shim\display_mirror" --icon jellyfin.ico run.py

Diff for: build-win.bat

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
@echo off
22
rd /s /q __pycache__ dist build
33
set PATH=%PATH%;%CD%
4-
pyinstaller -w --add-binary "mpv-2.dll;." --add-data "jellyfin_mpv_shim\systray.png;jellyfin_mpv_shim" --hidden-import pystray._win32 --add-data "jellyfin_mpv_shim\mouse.lua;jellyfin_mpv_shim" --add-data "jellyfin_mpv_shim\trickplay-osc.lua;jellyfin_mpv_shim" --add-data "jellyfin_mpv_shim\thumbfast.lua;jellyfin_mpv_shim" --add-data "jellyfin_mpv_shim\default_shader_pack;jellyfin_mpv_shim\default_shader_pack" --add-data "jellyfin_mpv_shim\messages;jellyfin_mpv_shim\messages" --add-data "jellyfin_mpv_shim\display_mirror\index.html;jellyfin_mpv_shim\display_mirror" --add-data "jellyfin_mpv_shim\display_mirror\jellyfin.css;jellyfin_mpv_shim\display_mirror" --add-binary "Microsoft.Toolkit.Forms.UI.Controls.WebView.dll;." --icon jellyfin.ico run.py
4+
pyinstaller -w --add-binary "mpv-2.dll;." --add-data "jellyfin_mpv_shim\systray.png;jellyfin_mpv_shim" --hidden-import pystray._win32 --add-data "jellyfin_mpv_shim\mouse.lua;jellyfin_mpv_shim" --add-data "jellyfin_mpv_shim\trickplay-osc.lua;jellyfin_mpv_shim" --add-data "jellyfin_mpv_shim\thumbfast.lua;jellyfin_mpv_shim" --add-data "jellyfin_mpv_shim\default_shader_pack;jellyfin_mpv_shim\default_shader_pack" --add-data "jellyfin_mpv_shim\messages;jellyfin_mpv_shim\messages" --add-data "jellyfin_mpv_shim\display_mirror\index.html;jellyfin_mpv_shim\display_mirror" --add-data "jellyfin_mpv_shim\display_mirror\jellyfin.css;jellyfin_mpv_shim\display_mirror" --icon jellyfin.ico run.py
55
if %errorlevel% neq 0 exit /b %errorlevel%
66
del dist\run\run.exe.manifest
77
copy hidpi.manifest dist\run\run.exe.manifest

Diff for: get_pywebview_natives.py

-15
This file was deleted.

Diff for: jellyfin_mpv_shim/conffile.py

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ def win32(app: str):
2424

2525
confdirs = (
2626
("linux", posix),
27+
("openbsd", posix),
2728
("win32", win32),
2829
("cygwin", posix),
2930
(

Diff for: jellyfin_mpv_shim/gui_mgr.py

+14-7
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def _show_file_darwin(path: str):
2424
subprocess.Popen(["open", path])
2525

2626

27-
def _show_file_linux(path: str):
27+
def _show_file_xdg(path: str):
2828
subprocess.Popen(["xdg-open", path])
2929

3030

@@ -33,14 +33,18 @@ def _show_file_win32(path: str):
3333

3434

3535
_show_file_func = {
36-
"darwin": _show_file_darwin,
37-
"linux": _show_file_linux,
38-
"win32": _show_file_win32,
39-
"cygwin": _show_file_win32,
36+
"darwin": _show_file_darwin,
37+
"linux": _show_file_xdg,
38+
"openbsd": _show_file_xdg,
39+
"win32": _show_file_win32,
40+
"cygwin": _show_file_win32,
4041
}
4142

4243
try:
43-
show_file = _show_file_func[sys.platform]
44+
show_file = None
45+
for platform, func in _show_file_func.items():
46+
if sys.platform.startswith(platform):
47+
show_file = func
4448

4549
def open_config():
4650
show_file(confdir(APP_NAME))
@@ -466,7 +470,10 @@ def setup(icon: Icon):
466470
icon.visible = True
467471
self.r_queue.put(("ready", None))
468472

469-
icon.run(setup=setup)
473+
try:
474+
icon.run(setup=setup)
475+
except Exception:
476+
pass
470477
self.r_queue.put(("die", None))
471478

472479

Diff for: jellyfin_mpv_shim/messages/da/LC_MESSAGES/base.po

+6-6
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ msgid ""
66
msgstr ""
77
"Project-Id-Version: PACKAGE VERSION\n"
88
"POT-Creation-Date: 2024-06-05 13:53-0400\n"
9-
"PO-Revision-Date: 2025-01-09 14:01+0000\n"
9+
"PO-Revision-Date: 2025-03-03 16:54+0000\n"
1010
"Last-Translator: M Alb <[email protected]>\n"
1111
"Language-Team: Danish <https://translate.jellyfin.org/projects/jellyfin/"
1212
"jellyfin-desktop/da/>\n"
@@ -204,7 +204,7 @@ msgstr "Stor"
204204

205205
#: jellyfin_mpv_shim/menu.py:44
206206
msgid "Huge"
207-
msgstr "Meget stor"
207+
msgstr "Kæmpe"
208208

209209
#: jellyfin_mpv_shim/menu.py:130
210210
msgid "Main Menu"
@@ -272,7 +272,7 @@ msgstr "Vælg lyd spor"
272272

273273
#: jellyfin_mpv_shim/menu.py:298
274274
msgid "Select Subtitle Track"
275-
msgstr "Skift undertekst spor"
275+
msgstr "Vælg undertekst spor"
276276

277277
#: jellyfin_mpv_shim/menu.py:306
278278
msgid "None"
@@ -312,15 +312,15 @@ msgstr "Skift standard omkodningsprofil"
312312

313313
#: jellyfin_mpv_shim/menu.py:456
314314
msgid "Select Subtitle Color"
315-
msgstr "Skift farve på undertekster"
315+
msgstr "Vælg farve på undertekster"
316316

317317
#: jellyfin_mpv_shim/menu.py:465
318318
msgid "Select Subtitle Size"
319-
msgstr "Skift størrelse på undertekster"
319+
msgstr "Vælg størrelse på undertekster"
320320

321321
#: jellyfin_mpv_shim/menu.py:475
322322
msgid "Select Subtitle Position"
323-
msgstr "Skift placering for undertekster"
323+
msgstr "Vælg placering for undertekster"
324324

325325
#: jellyfin_mpv_shim/menu.py:477
326326
msgid "Bottom"

Diff for: jellyfin_mpv_shim/messages/el/LC_MESSAGES/base.po

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ msgid ""
66
msgstr ""
77
"Project-Id-Version: PACKAGE VERSION\n"
88
"POT-Creation-Date: 2024-06-05 13:53-0400\n"
9-
"PO-Revision-Date: 2024-10-28 11:41+0000\n"
10-
"Last-Translator: Spiros Vita <[email protected]>\n"
9+
"PO-Revision-Date: 2025-03-17 10:01+0000\n"
10+
"Last-Translator: Thunderstrike116 <[email protected]>\n"
1111
"Language-Team: Greek <https://translate.jellyfin.org/projects/jellyfin/"
1212
"jellyfin-desktop/el/>\n"
1313
"Language: el\n"
@@ -420,7 +420,7 @@ msgstr "Πάντα να παραλείπονται οι τίτλοι τέλου
420420

421421
#: jellyfin_mpv_shim/menu.py:559
422422
msgid "Ask to Skip Credits"
423-
msgstr "Παράλειψη τίτλων τέλους κατόπιν ερώτησης"
423+
msgstr "Ερώτηση για παράλειψη τίτλων τέλους"
424424

425425
#: jellyfin_mpv_shim/menu.py:561
426426
msgid "Enable thumbnail previews"

Diff for: jellyfin_mpv_shim/messages/eo/LC_MESSAGES/base.po

+4-6
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@ msgid ""
66
msgstr ""
77
"Project-Id-Version: PACKAGE VERSION\n"
88
"POT-Creation-Date: 2024-06-05 13:53-0400\n"
9-
"PO-Revision-Date: 2022-07-04 21:06+0000\n"
10-
"Last-Translator: WWWesten <wwwesten@gmail.com>\n"
9+
"PO-Revision-Date: 2025-03-17 10:01+0000\n"
10+
"Last-Translator: Joesph boukolos <joseph+weblate@boukolos.com>\n"
1111
"Language-Team: Esperanto <https://translate.jellyfin.org/projects/jellyfin/"
1212
"jellyfin-desktop/eo/>\n"
1313
"Language: eo\n"
1414
"MIME-Version: 1.0\n"
1515
"Content-Type: text/plain; charset=UTF-8\n"
1616
"Content-Transfer-Encoding: 8bit\n"
1717
"Plural-Forms: nplurals=2; plural=n != 1;\n"
18-
"X-Generator: Weblate 4.10.1\n"
18+
"X-Generator: Weblate 5.7.2\n"
1919
"Generated-By: pygettext.py 1.5\n"
2020

2121
#: jellyfin_mpv_shim/bulk_subtitle.py:29
@@ -355,10 +355,8 @@ msgid "Transcode Hi10p to 8bit"
355355
msgstr "Transkodigo Hi10p al 8bit"
356356

357357
#: jellyfin_mpv_shim/menu.py:506
358-
#, fuzzy
359-
#| msgid "Transcode to H265"
360358
msgid "Transcode HDR"
361-
msgstr "Transkodo al H.265"
359+
msgstr "Transkodi al H.265"
362360

363361
#: jellyfin_mpv_shim/menu.py:507
364362
msgid "Direct Paths"

Diff for: jellyfin_mpv_shim/messages/es_AR/LC_MESSAGES/base.po

+4-8
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ msgid ""
66
msgstr ""
77
"Project-Id-Version: PACKAGE VERSION\n"
88
"POT-Creation-Date: 2024-06-05 13:53-0400\n"
9-
"PO-Revision-Date: 2025-01-09 14:01+0000\n"
10-
"Last-Translator: Franco Castillo <castillofrancodamian@gmail.com>\n"
9+
"PO-Revision-Date: 2025-02-18 23:28+0000\n"
10+
"Last-Translator: Brian Bentancour <bbab40@gmail.com>\n"
1111
"Language-Team: Spanish (Argentina) <https://translate.jellyfin.org/projects/"
1212
"jellyfin/jellyfin-desktop/es_AR/>\n"
1313
"Language: es_AR\n"
@@ -128,7 +128,7 @@ msgstr "Cerrar"
128128

129129
#: jellyfin_mpv_shim/gui_mgr.py:454
130130
msgid "Configure Servers"
131-
msgstr "Configurar Servidores"
131+
msgstr "Configurar servidores"
132132

133133
#: jellyfin_mpv_shim/gui_mgr.py:455
134134
msgid "Show Console"
@@ -224,7 +224,7 @@ msgstr "Cambiar la calidad del video"
224224

225225
#: jellyfin_mpv_shim/menu.py:139 jellyfin_mpv_shim/syncplay.py:634
226226
msgid "SyncPlay"
227-
msgstr "SyncPlay"
227+
msgstr "Reproducción sincronizada"
228228

229229
#: jellyfin_mpv_shim/menu.py:145
230230
msgid "MPV Shim v{0} Release Info/Download"
@@ -307,22 +307,18 @@ msgid "Manual by Track Index (Less Reliable)"
307307
msgstr "Manual por índice de pista (Menos confiable)"
308308

309309
#: jellyfin_mpv_shim/menu.py:421
310-
#, fuzzy
311310
msgid "Select Default Transcode Profile"
312311
msgstr "Seleccioná el perfil de transcodificación predeterminado"
313312

314313
#: jellyfin_mpv_shim/menu.py:456
315-
#, fuzzy
316314
msgid "Select Subtitle Color"
317315
msgstr "Seleccionar el color de los subtítulos"
318316

319317
#: jellyfin_mpv_shim/menu.py:465
320-
#, fuzzy
321318
msgid "Select Subtitle Size"
322319
msgstr "Seleccionar el tamaño de los subtítulos"
323320

324321
#: jellyfin_mpv_shim/menu.py:475
325-
#, fuzzy
326322
msgid "Select Subtitle Position"
327323
msgstr "Seleccionar la posición de los subtítulos"
328324

0 commit comments

Comments
 (0)