v1.11.1
🎵 ter-music v1.11.1 — A Little Bit More Love for Your Ears 🐾
Because every terminal deserves a melody... 🎶✨
🌟 English
What's New in v1.11.1? (ノ◕ヮ◕)ノ*:・゚✧
This release brings a brand-new native APEv2 tag parser 🏷️, smoother playback 🎧, better cross-distro packaging 📦, and loads of build system love 💕.
✨ Features
- 🏷️ Native APEv2 Tag Parser — Say goodbye to garbled metadata! Added a full native APEv2 parser with automatic GBK encoding detection & recovery, so your Chinese-tagged music finally looks right in the player (。♥‿♥。)
- 🔄 Cross-compile Support — Added
libswscale-devto build dependencies, enabling smoother cross-architecture builds (ARM64, LoongArch, etc.)
🐛 Bug Fixes
- 🔊 PulseAudio Freeze — Fixed playback freeze after pause + track switch by properly unblocking the PulseAudio mainloop (╥﹏╥) → (^▽^)
- 🔍 Search Bar Glitch — Fixed backspace display issue in the search bar, and added proper Chinese IME input support
- 🏷️ APE Tag GBK Fix — Fixed raw GBK byte handling in
try_gbk_fixup()for better metadata recovery - 🛠️ C89 Compilation — Fixed a C89 strict-mode compilation error for better compatibility
📦 Packaging & Build System
- 📦 Static DEB/RPM Builds — Fully containerized static builds with FFmpeg 7.1 compiled from source! Single DEB/RPM now compatible across Debian 10–13 & RHEL 8–10 (ノ´ヮ`)ノ*: ・゚
- 🐳 Dockerized Cross-Build — Refactored Dockerfiles, added
Dockerfile.deb,Dockerfile.deb-static,Dockerfile.rpm-staticfor clean separation - 🔄 RPM Improvements — Replaced
curlwitharia216-thread download for FFmpeg source (so much faster! 🚀) - 🐧 Ubuntu 24.04 Compat — Added cross-distro dependency alternatives (
libpng16-16t64,libjpeg62) so DEBs work on both Debian and Ubuntu - 👤 Ownership Fix — Docker-built packages no longer have root ownership (no more
sudo chownneeded!) - ✅ Source Packages —
.dsc&.src.rpmsource packages are now properly collected to the release directory
📚 Documentation
- Updated
README.mdandBUILD_GUIDE.mdfor the new containerized & static build flows - Added
ape_tag.cto the source file listing in translations
🧰 Full Changelog
Click to see all 20 commits ✨
$ git log --oneline v1.11.0..v1.11.1
377955a feat(metadata): add native APEv2 tag parser and fix GBK encoding recovery
e0c9018 feat(debian): add libswscale-dev Build-Depends and cross-compile support
5069078 fix(audio): fix playback freeze after pause+switch by unblocking PulseAudio mainloop
096631c fix(search): fix search bar backspace display and add Chinese input support
5f42a06 fix(metadata): handle raw GBK bytes from APE tags in try_gbk_fixup
6a57ce2 fix(deb): skip build-deps check during source package phase
d5dba1b fix(build): fix C89 compilation error and DEB source packaging
3e932a1 fix(deb): add cross-distro dependency alternatives for Ubuntu 24.04 compatibility
7183a22 fix(deb): copy source packages to release directory
b725603 fix(deb): simplify source package collection to avoid set -e issues
8282f74 fix(build): improve fix_ownership error handling and drop --privileged from cross-build
47ec062 fix(deb): also remove libswscale-dev from Build-Depends in static mode
f55eda0 fix(rpm): replace curl with aria2 16-thread download for FFmpeg source
8ac3af3 fix(deb): fix root ownership of Docker-built DEB output files
b6d0ece refactor(build): containerized and static DEB builds with CMake fix
54eba49 refactor: rename Dockerfile.static to Dockerfile.rpm-static for consistency
6ef78e0 chore: bump version to v1.11.1
2581304 docs: add ape_tag.c to source file list in README and translations
34cf7e3 docs(scripts): update README for static DEB build and Dockerfile.deb-static
390681e docs: update BUILD_GUIDE.md for containerized/static DEB builds
📥 Download
Grab the latest packages from the Releases page, or build from source:
git clone https://github.com/YXZL985/ter-music.git
cd ter-music
mkdir build && cd build
cmake .. && make
sudo make installOr grab a pre-built package:
| Format | Arch | File |
|---|---|---|
| 📦 DEB (static) | amd64 | ter-music_1.11.1-1_amd64.deb |
| 📦 DEB | arm64 | ter-music_1.11.1-1_arm64.deb |
| 📦 RPM (static) | amd64 | ter-music-1.11.1-1.el8.x86_64.rpm |
| 📦 RPM (source) | amd64 | ter-music-1.11.1-1.el8.src.rpm |
| 🖼️ AppImage | amd64 | ter-music-1.11.1-x86_64.AppImage |
| 📦 Portable | amd64 | ter-music-1.11.1-portable-x86_64.tar.gz |
| 🐚 Linyaps | amd64 | org.yxzl.ter-music_1.11.1_x86_64.uab |
🙏 Thank You!
- To everyone who filed issues and tested the pre-release builds — you're awesome! (´▽`ʃ♡ƪ)
- Special thanks to the FFmpeg team and the open-source community for making music playback possible 🎶
Happy listening! Let the music play in your terminal 🎵🐱
🌸 中文版
v1.11.1 更新内容 — 让终端多一点音乐的温柔 🐾
每一个终端都值得拥有旋律... 🎶✨
新版本有什么?(ノ◕ヮ◕)ノ*:・゚✧
这个版本带来了全新的 原生 APEv2 标签解析器 🏷️,更流畅的播放体验 🎧,更好的跨发行版打包支持 📦,以及对构建系统满满的爱 💕。
✨ 新功能
- 🏷️ 原生 APEv2 标签解析器 — 告别乱码元数据!新增完整原生 APEv2 解析器,支持自动 GBK 编码检测与恢复,让你的中文标签歌曲在播放器中正确显示 (。♥‿♥。)
- 🔄 交叉编译支持 — 新增
libswscale-dev到构建依赖,支持更顺畅的跨架构构建(ARM64、龙芯等)
🐛 问题修复
- 🔊 PulseAudio 卡死修复 — 修复了暂停后切换曲目导致的播放卡死问题,通过正确恢复 PulseAudio 主循环 (╥﹏╥) → (^▽^)
- 🔍 搜索栏问题修复 — 修复了搜索栏退格键显示问题,并添加了中文输入法支持
- 🏷️ APE 标签 GBK 修复 — 修复了
try_gbk_fixup()中原始 GBK 字节的处理逻辑,元数据恢复更可靠 - 🛠️ C89 编译修复 — 修复了 C89 严格模式下的编译错误,兼容性更好
📦 打包与构建系统
- 📦 静态 DEB/RPM 构建 — 完全容器化的静态构建,FFmpeg 7.1 从源码编译!单个 DEB/RPM 现在可以兼容 Debian 10–13 和 RHEL 8–10 (ノ´ヮ`)ノ*: ・゚
- 🐳 Docker 化交叉编译 — 重构 Dockerfile,新增
Dockerfile.deb、Dockerfile.deb-static、Dockerfile.rpm-static,职责清晰 - 🔄 RPM 构建提速 — 将 FFmpeg 源码下载从
curl替换为aria216线程下载(快多了!🚀) - 🐧 Ubuntu 24.04 兼容 — 添加跨发行版依赖替代方案(
libpng16-16t64、libjpeg62),DEB 包同时在 Debian 和 Ubuntu 上可用 - 👤 文件所有权修复 — Docker 构建的包不再属于 root(不再需要
sudo chown!) - ✅ 源码包收集 —
.dsc和.src.rpm源码包现在能正确收集到发布目录
📚 文档更新
- 更新
README.md和BUILD_GUIDE.md,适配新的容器化与静态构建流程 - 在翻译文件中将
ape_tag.c添加到源文件列表
🧰 完整提交记录
点击展开全部 20 次提交 ✨
$ git log --oneline v1.11.0..v1.11.1
377955a feat(metadata): add native APEv2 tag parser and fix GBK encoding recovery
e0c9018 feat(debian): add libswscale-dev Build-Depends and cross-compile support
5069078 fix(audio): fix playback freeze after pause+switch by unblocking PulseAudio mainloop
096631c fix(search): fix search bar backspace display and add Chinese input support
5f42a06 fix(metadata): handle raw GBK bytes from APE tags in try_gbk_fixup
6a57ce2 fix(deb): skip build-deps check during source package phase
d5dba1b fix(build): fix C89 compilation error and DEB source packaging
3e932a1 fix(deb): add cross-distro dependency alternatives for Ubuntu 24.04 compatibility
7183a22 fix(deb): copy source packages to release directory
b725603 fix(deb): simplify source package collection to avoid set -e issues
8282f74 fix(build): improve fix_ownership error handling and drop --privileged from cross-build
47ec062 fix(deb): also remove libswscale-dev from Build-Depends in static mode
f55eda0 fix(rpm): replace curl with aria2 16-thread download for FFmpeg source
8ac3af3 fix(deb): fix root ownership of Docker-built DEB output files
b6d0ece refactor(build): containerized and static DEB builds with CMake fix
54eba49 refactor: rename Dockerfile.static to Dockerfile.rpm-static for consistency
6ef78e0 chore: bump version to v1.11.1
2581304 docs: add ape_tag.c to source file list in README and translations
34cf7e3 docs(scripts): update README for static DEB build and Dockerfile.deb-static
390681e docs: update BUILD_GUIDE.md for containerized/static DEB builds
📥 下载方式
前往 Releases 页面 下载预编译包,或从源码构建:
git clone https://github.com/YXZL985/ter-music.git
cd ter-music
mkdir build && cd build
cmake .. && make
sudo make install也可直接下载预编译包:
| 格式 | 架构 | 文件 |
|---|---|---|
| 📦 DEB (静态) | amd64 | ter-music_1.11.1-1_amd64.deb |
| 📦 DEB | arm64 | ter-music_1.11.1-1_arm64.deb |
| 📦 RPM (静态) | amd64 | ter-music-1.11.1-1.el8.x86_64.rpm |
| 📦 RPM (源码) | amd64 | ter-music-1.11.1-1.el8.src.rpm |
| 🖼️ AppImage | amd64 | ter-music-1.11.1-x86_64.AppImage |
| 📦 便携包 | amd64 | ter-music-1.11.1-portable-x86_64.tar.gz |
| 🐚 如意玲珑 | amd64 | org.yxzl.ter-music_1.11.1_x86_64.uab |
🙏 感谢
- 感谢所有反馈 issue 和参与测试的朋友们——你们太棒了!(´▽`ʃ♡ƪ)
- 特别感谢 FFmpeg 团队和开源社区,让音乐播放成为可能 🎶
祝听歌愉快! 让你的终端响起音乐吧 🎵🐱
Made with 💖 and lots of ☕ by YXZL985
✦ 🐱 🎵 🎶 🐧 ✦