Skip to content

Commit 9e9d24e

Browse files
committed
Small CI and SDL3 fixups (Taiko2k#1436)
* Small CI and SDL3 fixups * Use sdl3 for Windows builds * Add sdl3-ttf on Windows * Bump up copyrights for 2025 * Remove all mentions of pysdlX-dll
1 parent c039dbf commit 9e9d24e

14 files changed

+28
-44
lines changed

.github/workflows/build_Windows_MINGW64.yaml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,11 @@ jobs:
4444
python -m pip install --break-system-packages --upgrade pip
4545
python -m venv .venv
4646
export CFLAGS="-I/mingw64/include"
47-
export PIP_FIND_LINKS=https://github.com/ddelange/python-magic/releases/expanded_assets/0.4.28.post8
4847
.venv/bin/python -m pip install \
4948
-r requirements.txt \
5049
build \
5150
pyinstaller
51+
# export PIP_FIND_LINKS=https://github.com/ddelange/python-magic/releases/expanded_assets/0.4.28.post8
5252

5353
- name: Build the project using python-build
5454
shell: msys2 {0}
@@ -67,18 +67,18 @@ jobs:
6767
- name: Download optionals from latest release files and notofonts' GitHub
6868
shell: msys2 {0}
6969
run: |
70-
curl -L -o librespot.exe https://github.com/Taiko2k/Tauon/releases/download/v7.8.3/librespot.exe
70+
curl -L -o librespot.exe https://github.com/Taiko2k/Tauon/releases/download/v7.8.3/librespot.exe # v0.6.0 - https://github.com/librespot-org/librespot/releases
7171
curl -L -o TaskbarLib.tlb https://github.com/Taiko2k/Tauon/releases/download/v7.8.3/TaskbarLib.tlb
7272
curl -L -o TauonSMTC.dll https://github.com/Taiko2k/Tauon/releases/download/v7.8.3/TauonSMTC.dll
7373
mkdir fonts
74-
curl -L -o fonts/NotoSans-ExtraCondensed.ttf https://github.com/notofonts/notofonts.github.io/raw/refs/heads/main/fonts/NotoSans/full/ttf/NotoSans-ExtraCondensed.ttf # 800KB
74+
curl -L -o fonts/NotoSans-ExtraCondensed.ttf https://github.com/notofonts/notofonts.github.io/raw/refs/heads/main/fonts/NotoSans/full/ttf/NotoSans-ExtraCondensed.ttf # 800KB
7575
curl -L -o fonts/NotoSans-ExtraCondensedBold.ttf https://github.com/notofonts/notofonts.github.io/raw/refs/heads/main/fonts/NotoSans/full/ttf/NotoSans-ExtraCondensedBold.ttf # 800KB
76-
curl -L -o fonts/NotoSans-Bold.ttf https://github.com/notofonts/notofonts.github.io/raw/refs/heads/main/fonts/NotoSans/full/ttf/NotoSans-Bold.ttf # 800KB
77-
curl -L -o fonts/NotoSans-Medium.ttf https://github.com/notofonts/notofonts.github.io/raw/refs/heads/main/fonts/NotoSans/full/ttf/NotoSans-Medium.ttf # 800KB
78-
curl -L -o fonts/NotoSans-Regular.ttf https://github.com/notofonts/notofonts.github.io/raw/refs/heads/main/fonts/NotoSans/full/ttf/NotoSans-Regular.ttf # 800KB
79-
curl -L -o fonts/NotoSansCJKjp-Bold.otf https://github.com/notofonts/noto-cjk/raw/refs/heads/main/Sans/OTF/Japanese/NotoSansCJKjp-Bold.otf # 16MB
80-
curl -L -o fonts/NotoSansCJKjp-Medium.otf https://github.com/notofonts/noto-cjk/raw/refs/heads/main/Sans/OTF/Japanese/NotoSansCJKjp-Medium.otf # 16MB
81-
curl -L -o fonts/NotoSansCJKjp-Regular.otf https://github.com/notofonts/noto-cjk/raw/refs/heads/main/Sans/OTF/Japanese/NotoSansCJKjp-Regular.otf # 16MB
76+
curl -L -o fonts/NotoSans-Bold.ttf https://github.com/notofonts/notofonts.github.io/raw/refs/heads/main/fonts/NotoSans/full/ttf/NotoSans-Bold.ttf # 800KB
77+
curl -L -o fonts/NotoSans-Medium.ttf https://github.com/notofonts/notofonts.github.io/raw/refs/heads/main/fonts/NotoSans/full/ttf/NotoSans-Medium.ttf # 800KB
78+
curl -L -o fonts/NotoSans-Regular.ttf https://github.com/notofonts/notofonts.github.io/raw/refs/heads/main/fonts/NotoSans/full/ttf/NotoSans-Regular.ttf # 800KB
79+
curl -L -o fonts/NotoSansCJKjp-Bold.otf https://github.com/notofonts/noto-cjk/raw/refs/heads/main/Sans/OTF/Japanese/NotoSansCJKjp-Bold.otf # 16MB
80+
curl -L -o fonts/NotoSansCJKjp-Medium.otf https://github.com/notofonts/noto-cjk/raw/refs/heads/main/Sans/OTF/Japanese/NotoSansCJKjp-Medium.otf # 16MB
81+
curl -L -o fonts/NotoSansCJKjp-Regular.otf https://github.com/notofonts/noto-cjk/raw/refs/heads/main/Sans/OTF/Japanese/NotoSansCJKjp-Regular.otf # 16MB
8282
8383
- name: "[DEBUG] List all files"
8484
shell: msys2 {0}

.github/workflows/build_macOS.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,14 @@ jobs:
3030
pango \
3131
pillow \
3232
sdl3 \
33+
sdl3_image \
3334
jpeg-xl \
3435
ffmpeg \
3536
librsvg \
3637
opusfile \
3738
libopenmpt \
3839
wavpack \
3940
game-music-emu
40-
# sdl2_image \
4141
4242
# This generates 30MB of logs, enable it only when actively debugging something
4343
# - name: "[DEBUG] List all Cellar files"

README.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
- Fast, comfortable and responsive UI.
1313
- Support for **gapless playback**.
1414
- Import tracks and create playlists by simple **drag and drop**.
15-
- Supports most common codecs and tracker file types.
16-
- Seamless support for CUE sheets.
15+
- Supports most common codecs and tracker file types.
16+
- Seamless support for CUE sheets.
1717
- Stream music from your **PLEX**, **Jellyfin** or **Airsonic** server.
1818
- Import and play your **Spotify** library.
1919
- Large album art and gallery browsing!
@@ -36,7 +36,7 @@ Installation is available as a Flatpak.
3636

3737
<a href='https://flathub.org/apps/details/com.github.taiko2k.tauonmb'><img width='240' alt='Download on Flathub' src='https://dl.flathub.org/assets/badges/flathub-badge-en.png'/></a>
3838

39-
Flatpak uses sandboxing, see [here](https://github.com/Taiko2k/TauonMusicBox/wiki/Sandboxing-Quirks) for notes.
39+
Flatpak uses sandboxing, see [here](https://github.com/Taiko2k/TauonMusicBox/wiki/Sandboxing-Quirks) for notes.
4040

4141
You can also install from the [AUR](https://aur.archlinux.org/packages/tauon-music-box/) on **Arch Linux** based distros.
4242

@@ -53,6 +53,4 @@ I highly recommend reading the Tauon [manual](https://tauonmusicbox.rocks#manual
5353

5454
Feel free to submit any issues you encounter.
5555

56-
[![Maintenance](https://img.shields.io/maintenance/yes/2024.svg?color=a3e11f&style=for-the-badge)](https://github.com/Taiko2k/tauonmb/releases) [![GitHub release](https://img.shields.io/github/release/taiko2k/tauonmb.svg?style=for-the-badge&colorB=ff69b4)](https://github.com/Taiko2k/tauonmb/releases) ![Platform](https://img.shields.io/badge/platform-linux-lightgrey.svg?style=for-the-badge) [![Discord](https://img.shields.io/discord/687418493209018622.svg?color=a483ef&style=for-the-badge)](https://discord.gg/v4EmhES)
57-
58-
56+
[![Maintenance](https://img.shields.io/maintenance/yes/2025.svg?color=a3e11f&style=for-the-badge)](https://github.com/Taiko2k/tauonmb/releases) [![GitHub release](https://img.shields.io/github/release/taiko2k/tauonmb.svg?style=for-the-badge&colorB=ff69b4)](https://github.com/Taiko2k/tauonmb/releases) ![Platform](https://img.shields.io/badge/platform-linux-lightgrey.svg?style=for-the-badge) [![Discord](https://img.shields.io/discord/687418493209018622.svg?color=a483ef&style=for-the-badge)](https://discord.gg/v4EmhES)

extra/msyspac.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ mingw-w64-x86_64-python-pillow
1515
mingw-w64-x86_64-python-pip
1616
mingw-w64-x86_64-python-websocket-client
1717
mingw-w64-x86_64-rust
18-
mingw-w64-x86_64-SDL2
19-
mingw-w64-x86_64-SDL2_image
18+
mingw-w64-x86_64-sdl3
19+
mingw-w64-x86_64-sdl3-image
20+
mingw-w64-x86_64-sdl3-ttf
2021
mingw-w64-x86_64-wavpack

extra/requirements_linux.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ PlexAPI
77
PyGObject
88
pylast>=3.1.0
99
PySDL3
10-
#pysdl3-dll
1110
requests
1211
Send2Trash
1312
unidecode

extra/requirements_macos.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ PlexAPI
66
PyGObject
77
pylast>=3.1.0
88
PySDL3
9-
#pysdl3-dll
109
requests
1110
Send2Trash
1211
unidecode

extra/requirements_windows.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ PyGObject
1010
pyinstaller
1111
pylast>=3.1.0
1212
PySDL3
13-
#pysdl3-dll
1413
requests
1514
Send2Trash
1615
unidecode

linux.spec

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,6 @@ a = Analysis(
1818
("src/tauon/locale", "locale"),
1919
("src/tauon/theme", "theme"),
2020
("src/tauon/templates", "templates"),
21-
# This could only have SDL2.framework and SDL2_image.framework to save space...
22-
# (f".venv/lib/python{python_ver}/site-packages/sdl2dll/dll", "sdl2dll/dll"),
23-
# (f".venv/lib/python{python_ver}/site-packages/sdl2dll/dll/SDL2.framework", "sdl2dll/dll/SDL2.framework"),
24-
# (f".venv/lib/python{python_ver}/site-packages/sdl2dll/dll/SDL2_image.framework", "sdl2dll/dll/SDL2_image.framework"),
2521
],
2622
hiddenimports=[
2723
"pylast",

mac.spec

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,6 @@ a = Analysis(
3535
("src/tauon/locale", "locale"),
3636
("src/tauon/theme", "theme"),
3737
("src/tauon/templates", "templates"),
38-
# This could only have SDL3.framework and SDL3_image.framework to save space...
39-
# (f"{prefix}/lib/python{python_ver}/site-packages/sdl3dll/dll", "sdl3dll/dll"),
40-
# (f".venv/lib/python{python_ver}/site-packages/sdl3dll/dll", "sdl3dll/dll"),
41-
# (f".venv/lib/python{python_ver}/site-packages/sdl3dll/dll/SDL3.framework", "sdl3dll/dll/SDL3.framework"),
42-
# (f".venv/lib/python{python_ver}/site-packages/sdl3dll/dll/SDL3_image.framework", "sdl3dll/dll/SDL3_image.framework"),
4338
],
4439
hiddenimports=[
4540
"sdl3",

pyproject.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,11 @@
1818
# "PlexAPI", # OPTDEP
1919
# "PyGObject",
2020
# "pylast>=3.1.0",
21-
# "PySDL2",
21+
# "PySDL3",
2222
# "requests",
2323
# "Send2Trash",
2424
# "unidecode",
2525
# "dbus-python; sys_platform == 'linux'",
26-
# "pysdl2-dll; sys_platform == 'darwin'", # Don't rely on system https://github.com/py-sdl/py-sdl2#requirements
2726
# "comtypes; sys_platform == 'win32'",
2827
# "lynxtray; sys_platform == 'win32'",
2928
# "keyboard; sys_platform == 'win32'",

requirements.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ PlexAPI
66
PyGObject
77
pylast>=3.1.0
88
PySDL3
9-
#pysdl3-dll # Don't rely on system SDL2 https://github.com/py-sdl/py-sdl2#requirements
109
#python-magic # optional
1110
requests
1211
Send2Trash

src/tauon/__main__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env python3
22
"""Tauon Music Box"""
33

4-
# Copyright © 2015-2024, Taiko2k captain(dot)gxj(at)gmail.com
4+
# Copyright © 2015-2025, Taiko2k captain(dot)gxj(at)gmail.com
55

66
# This program is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by
@@ -199,7 +199,7 @@ def transfer_args_and_exit() -> None:
199199
phone = True
200200

201201
if pyinstaller_mode: # and sys.platform == 'darwin':
202-
os.environ["PYSDL2_DLL_PATH"] = str(install_directory)
202+
os.environ["SDL_BINARY_PATH"] = str(install_directory)
203203

204204
fs_mode = False
205205
if os.environ.get("GAMESCOPE_WAYLAND_DISPLAY") is not None:

src/tauon/t_modules/t_main.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
Verify the rework actually uses copies where copies should be used!
1313
"""
1414

15-
# Copyright © 2015-2024, Taiko2k captain(dot)gxj(at)gmail.com
15+
# Copyright © 2015-2025, Taiko2k captain(dot)gxj(at)gmail.com
1616

1717
# This program is free software: you can redistribute it and/or modify
1818
# it under the terms of the GNU General Public License as published by
@@ -13015,7 +13015,7 @@ def about(self, x0, y0, w0, h0):
1301513015

1301613016
ddt.text((x, y - 6 * gui.scale), t_version, colours.box_text_label, 313)
1301713017
y += 19 * gui.scale
13018-
ddt.text((x, y), "Copyright © 2015-2024 Taiko2k [email protected]", colours.box_sub_text, 13)
13018+
ddt.text((x, y), "Copyright © 2015-2025 Taiko2k [email protected]", colours.box_sub_text, 13)
1301913019

1302013020
y += 19 * gui.scale
1302113021
link_pa = draw_linked_text(
@@ -13109,10 +13109,10 @@ def about(self, x0, y0, w0, h0):
1310913109
font = 12
1311013110
spacing = round(18 * gui.scale)
1311113111
y += spacing
13112-
ddt.text((x, y), "PySDL2", colours.box_sub_text, font)
13112+
ddt.text((x, y), "PySDL3", colours.box_sub_text, font)
1311313113
ddt.text((xx, y), _("Public Domain"), colours.box_text_label, font)
1311413114
draw_linked_text2(
13115-
xxx, y, "https://github.com/marcusva/py-sdl2", colours.box_sub_text, font, click=self.click, replace="github")
13115+
xxx, y, "https://github.com/Aermoss/PySDL3", colours.box_sub_text, font, click=self.click, replace="github")
1311613116

1311713117
y += spacing
1311813118
ddt.text((x, y), "Tekore", colours.box_sub_text, font)
@@ -39216,7 +39216,7 @@ def main(holder: Holder) -> None:
3921639216
logging.exception("SET LOCALE ERROR")
3921739217

3921839218
if system == "Windows":
39219-
os.environ["PYSDL2_DLL_PATH"] = str(install_directory / "lib")
39219+
os.environ["SDL_BINARY_PATH"] = str(install_directory / "lib")
3922039220
elif not msys and not macos:
3922139221
try:
3922239222
gi.require_version("Notify", "0.7")

windows.spec

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@ a = Analysis(
3535
(str(Path(msys64_path) / "mingw64" / "bin" / "libvorbis-0.dll"), "."),
3636
(str(Path(msys64_path) / "mingw64" / "bin" / "libvorbisfile-3.dll"), "."),
3737
(str(Path(msys64_path) / "mingw64" / "bin" / "libwavpack-1.dll"), "."),
38-
(str(Path(msys64_path) / "mingw64" / "bin" / "SDL2.dll"), "."),
39-
(str(Path(msys64_path) / "mingw64" / "bin" / "SDL2_image.dll"), "."),
38+
(str(Path(msys64_path) / "mingw64" / "bin" / "SDL3.dll"), "."),
39+
(str(Path(msys64_path) / "mingw64" / "bin" / "SDL3_image.dll"), "."),
40+
(str(Path(msys64_path) / "mingw64" / "bin" / "SDL3_ttf.dll"), "."),
4041
],
4142
datas=[
4243
(certifi.where(), "certifi"),
@@ -48,8 +49,6 @@ a = Analysis(
4849
("librespot.exe", "."),
4950
("TaskbarLib.tlb", "."),
5051
("TauonSMTC.dll", "lib"),
51-
# This could only have SDL2.framework and SDL2_image.framework to save space...
52-
# (f".venv/lib/python{python_ver}/site-packages/sdl2dll/dll", "sdl2dll/dll"),
5352
],
5453
hiddenimports=[
5554
"pylast",

0 commit comments

Comments
 (0)