[packaging] 端闱乐部1.11.0版本发布!——这将会是1.x时代的收官之作……
Tofloor
poster avatar
燕戏竹林
deepin
9 hours ago
Author

🌟 Ter-Music v1.11.0 Release Notes 🎵

✨ わーい!ついに来たよ!✨ — (◍•ᴗ•◍)❤


📋 概述

v1.11.0 是一次重大功能更新 🚀,包含非同期検索、播放列表排序、音频后端运行时切换、24/32 位高清音频支持、帮助页面、滚动条、信息栏增强等功能,以及多项稳定性修复和构建系统改进。ヽ(✿゚▽゚)ノ

📊 30 个文件变更,+2572 / -555 行 ─=≡Σ((( つ•̀ω•́)つ

1779428304970.png


✨ 新功能 (New Features) ✨

🔍 异步线程搜索(#a69f493)

搜索从同步 UI 线程移至后台 pthread,增量发布结果! (ノ◕ヮ◕)ノ*:・゚✧
搜索不再阻塞用户输入或界面更新——匹配结果在扫描过程中逐步呈现,按 Escape 可随时取消搜索。ヽ(´ー`)ノ

📑 播放列表排序(#fe38652)

新增 sort-mode 设置,支持按 标题 / 艺术家 / 专辑 / 文件名 排序!(๑•̀ㅂ•́)و✧
使用间接索引数组 (sorted_indices) 映射视觉行到曲目索引,不破坏原始播放列表数据。上下曲切换、鼠标点击、媒体控制均正确遵循排序顺序。٩(◕‿◕。)۶

🎚️ 音频后端运行时切换(#b4f0806, #32c6b2d)

  • PulseAudio 和 ALSA 改为运行时 dlopen/dlsym 加载,不再编译时链接 🔄
  • 设置 → 播放 → 音频后端 支持 Auto / PulseAudio / ALSA 三选项 ⚙️
  • 重启后生效,配置持久化到 config.json 💾
  • 修复退出时可能卡死的问题(wait_for_playback_thread_shutdown 超时机制) (╯°□°)╯︵ ┻━┻ → ┬─┬ ノ( ゜-゜ノ)

❓ 帮助页面(#27c01e3)

  • F8 打开帮助页面,加载双语快速入门文档 📖
  • 支持滚动和搜索 🔎
  • 修复 F9 退出无效的问题(ESC+9 处理未覆盖数字 9) (;一_一)

📜 滚动条模块(#05c3162)

新增可复用的滚动条模块!在可滚动面板(播放列表、歌词、帮助页)右侧边缘显示比例缩略块,仅在内容超出视口时可见。 (`・ω・´)✨

ℹ️ 信息栏三栏布局(#e7b8104)

播放列表信息栏从「左侧元数据 + 右侧封面」重构为 「元数据 | 音频技术信息 | 封面」 三栏布局!(★ω★)
新增采样率、位深、比特率、编码格式等音频技术信息显示。🎯

🎧 高清音频管线 16→32 位升级(#38c7b42)

swresample 输出、PCM 缓冲区、PulseAudio (PA_SAMPLE_S32LE)、ALSA (SND_PCM_FORMAT_S32_LE) 及频谱显示全面升级至 32 位!(ノ≧∀≦)ノ
完整保留 24 位 FLAC 无损动态范围。🎶✨

🎤 LRC 歌词增强(#4fea81a)

  • 支持 [ti:][ar:][al:] 头信息作为固定元数据歌词 📝
  • 自动剥离内嵌 [mm:ss.xx] 时间戳 ✂️

🐛 Bug 修复 (Bug Fixes) 🐛

▶️ 播放相关

  • ✅ XDG/命令行打开单个音频文件时自动开始播放(#5d70562)
  • ✅ XDG 打开文件时跳过恢复上次播放状态(#d58fdba)
  • ✅ 修复 play_audio() 破坏 g_selected_index 的问题(#fe38652)
  • ✅ 修复随机/顺序模式下首播放索引不一致(#fe38652)

🖥️ UI 稳定性

  • ✅ 修复主线程阻塞 I/O 和过度渲染导致的 UI 卡死(#f4a59ec) (ノಠ_ಠ)ノ
    • 渲染热路径中栈 VLA 改为堆分配缓冲区
    • 冗余歌词/频谱渲染限流至 150ms(dirty mask)
    • 远程下载时 curl 进度回调保持 ncurses 响应
    • 大终端窗口下无歌词频谱降采样
    • 级联全屏重绘改用 request_ui_refresh 延迟触发
  • ✅ 修复盲文专辑封面底行像素映射错误(#b598c9d) (ᓀ ᓀ)

📦 包管理和安装

  • ✅ 添加 make uninstall 目标(#a939cba) 🗑️
  • ✅ 帮助文档增加 /usr/local 前缀搜索路径(#913d479) 📂

🧊 Linyaps (玲珑)

  • ✅ 修复帮助文档在玲珑容器中无法加载的问题(硬编码 /usr/local/share/ 路径与玲珑的 /opt/apps/.../files/ 前缀不匹配)(ᗒᗣᗕ)

  • ✅ 新增 TER_MUSIC_DATA_DIR 编译时定义,由 CMAKE_INSTALL_PREFIX 自动推导数据目录路径(#4e713c9) (`•ω•´)✧

    📦 AppImage & 可移植包

  • ✅ 修复 AppImage 和可移植包中帮助文档完全缺失的问题——构建脚本中存在死代码(检查不存在的 share/ 目录导致复制语句从未执行)(´;ω;`)

  • ✅ 新增 /proc/self/exe 可执行文件相对路径回退搜索,使自包含包中的 help 文档可在任意挂载点被正确找到(#b5c701d) (•̀ᴗ•́)و

🏷️ 元数据处理

  • ✅ MP3 文件 ID3v1.1 标签 GBK→UTF-8 编码转换(#8f3b36b),解决仅有 ID3v1 标签时 FFmpeg 将中文解码为 Latin-1 导致的乱码问题 (╥﹏╥) → (^▽^)

🔧 构建系统改进 (Build System) 🔧

🐳 RPM 容器构建

  • 📌 Dockerfile.rpm 添加 dbus-devel 依赖,修复 libjpeg 版本约束(#82f8692)
  • 📌 移除 FFmpeg 库版本号约束 >= 4.0,兼容 EL8(#e44796d)
  • 📌 修复 Docker 构建产物 root 所有权问题,新增 HOST_UID/HOST_GID 自动修复机制(#5d875c3) (◕‿◕✿)
  • 📌 BUILD_GUIDE.md 推荐优先构建 EL8 版本以获得跨 EL 兼容性(#8938aeb)

📚 文档更新

  • 📌 新增 FAQ 音频时延调优条目(#5daa332)
  • 📌 添加 Docker / Python / Shell / Linyaps 徽章 🏅(#5daa332)
  • 📌 同步 README 和快速入门帮助文件(#d7e801d)

📥 下载 (Downloads) 📥

构建产物位于 build/release/ ~ (っ•̀ω•́)っ

格式 文件 架构
📦 RPM ter-music-1.11.0-1.el8.x86_64.rpm x86_64 (EL8+)
📦 DEB ter-music_1.11.0_amd64.deb amd64
📦 DEB ter-music_1.11.0_arm64.deb arm64
🖥️ AppImage ter-music-1.11.0-x86_64.AppImage x86_64
🗜️ Portable ter-music-1.11.0-portable-x86_64.tar.gz x86_64
🧊 Linyaps org.yxzl.ter-music_1.11.0_x86_64.uab x86_64

💖 致谢 (Acknowledgements) 💖

感谢所有贡献者、测试者和用户的支持与反馈! ヽ(●´∀`●)ノ

Enjoy Ter-Music! 🎵✨ Let's make listening to music in the terminal fun! 🎶 (ノ´ヮ`)ノ*: ・゚


下载地址:
https://github.com/YXZL985/ter-music/releases

反馈地址:
https://github.com/YXZL985/ter-music/issues

Pull Request:
https://github.com/YXZL985/ter-music/pulls


该应用已投递至如意玲珑商店,等待审核通过后即可直接在商店中安装使用。

感谢大家的支持!

欢迎有志之士提交 Pull Request,一起让 Ter Music 变得更好。

Reply Favorite View the author
All Replies
avatar
Shalling
Deepin Wiki Editor
8 hours ago
#1

👍 👍 👍

Reply View the author