更新日志
从 2.0.0 起。每个版本默认折叠,点版本号展开。最新:2.1.5。
完整发布页:GitHub · Gitee 镜像(同步常滞后)
2.1.5
歌词
- 初步支持TTML格式歌词基础显示(agent对齐,bg段等等)
- 辉光缩放效果(实验性)
- 歌词容器/布局精简,横向歌词整合
- 修复内嵌逐字类型歌词间奏无法插入显示
封面取色 / 主题
- 修复切浅深模式封面种子色丢失
- 新增主题色控件开关——播放页控件图标可选 Material You 色
- 封面虚化改用定值 sigma + tileMode clamp
- 详情页封面模糊强度提高
文件夹管理
- 文件夹选择/管理/详情页重构为 StatefulWidget,COM 安全释放
- 索引构建状态视图简化
重构 / 性能
- EqualizerService 解耦、MemoryMonitorService 提取
- 死代码清理(matcher/utils/menu styles)
- 封面缓存统一 SQLite
Rust
- NetEaseCloud 并发安全、tag_reader 子目录预计数与增量发现
- system_volume COM 生命周期管理
已知问题
- 内存
泄漏优化(持续优化) - TTML 格式歌词显示效果(待完善)
2.1.4
性能
- TextPainter 对象池:最多复用 3 个,减少 GC 压力
- 歌词行缓存:
Painter/ImageFilter仅在参数变化时重建 - 16ms 阈值:播放进度变化超过 16ms 才触发
setState - Ticker 优化:
createTicker/stop替代initTicker/disposeTicker,减少频繁创建 - 空闲清理:无活动 5 秒后清空对象池、缓存并重建
- Key:
ValueKey避免歌词行重建,开启KeepAlive和RepaintBoundary - 迷你播放栏:监听范围从整个
PlaybackService缩小到nowPlayingNotifier - 绘制管线:复用度量工具,预构建样式,批量绘制
- 渐变调优:feather 32→24px,alpha 0.48→0.65
歌词
- 删除
LyricViewTile等组件(-939 行),渲染逻辑迁移到LyricsLinePainter/Widget - 注释未完成的歌词模式、注音、翻译等设置项
播放引擎
- 切歌时清理歌词缓存,主动
notifyListeners()刷新 UI
封面取色/主题
- 恢复 Material 3 默认颜色层级
- 全局背景从
surfaceContainer改为surfaceContainerLow - 底部 sheet、侧边栏同步主题层级
- 优化浅色模式下歌词能见度问题
UI/交互
- 修复搜索框、作者副标题、“Excl/Shrd”按钮在浅色模式的文字颜色
- 间奏圆形:非 Material You 浅色模式改用黑色
Rust
- FLAC 元数据去重(
join_deduped)
已知问题
- 内存泄漏(持续优化)
- 隐藏部分未完善的功能
2.1.3
更新检查
- 新增自动更新检查:启动后延迟检查,多源 fallback,可关闭
封面取色
- 修复关闭后仍影响主题色:播放页背景取色不变,不再覆盖全局主题
已知问题
- 内存泄漏(持续优化中)
- 更好的歌词动效
- 逐行间奏问题
2.1.2
歌词
- 修复默认字体显示问题:移除了部分位置的硬编码字体,从而修复字体过糊和锯齿问题
- 歌词渲染新模式:默认使用
Paint歌词渲染,Widget模式会在Paint彻底完善后移除 - 排版引擎重构:fontFamily 动态传入、翻译/罗马音高度改用实际
TextPainter测量、LRC 行支持┃分隔多段翻译 - 歌词视图适配:纵向/横向歌词对齐调整(0.5→0.35)、动态滚动时长、间奏空白行判定优化
- 逐字歌词行切换错位修复:
SyncLyricLine使用words.first.start替代line.start - 脏话还原规则重构:从具体到通用重新排序,补充
f***k、b****(bitch 字尾)、cu**t、c***k、co**(cock 字尾)等遗漏模式 - 元数据过滤再增强:新增"歌名 - 歌手"格式行识别(
_isBracketedTitleArtistLine/_isUnbracketedTitleArtistLine),LRC 逐词标签纯文本提取,搜索匹配阈值 60→50 + 日文顿号转空格 - 移除空行模式:默认启用,适用于逐字/逐行 歌词
封面取色 / 主题
- Rust k-means 取色替换:移除
palette_generator,改用 Rust FFI 一次性提取完整调色板,速度大幅提升 - 跨组件共享调色板:
NowPlayingPage一次 Rust 调用提取,传递给背景/网格渐变等组件,避免重复解码 - 自定义主题色:新增
enableCoverColorExtraction开关 +customCoverColor设置项,关闭自动取色时可手动指定颜色 - HSV 色域选择器:完整的 2D 色域 + 色相条 + Hex 输入对话框,支持精确选色
- 迷你封面重构:改用
smallCoverBytes,移除FutureBuilder+precache,避免鼠标 hover 时因 rebuild 导致的闪烁 - Material 3 TextTheme 字体传播:确保
fontFamily向下传递到各 text style,歌词组件统一获取
性能
- RSS 内存压力清理阈值调整:三级阈值根据播放/非播放状态差异化设置,非播放时额外清理
ImageCache - 小封面字节 LRU 缓存:硬上限 200(~1MB),
LinkedHashSet追踪访问顺序,超出时逐出最旧条目 - Rust 取色内存优化:显式
drop释放中间缓冲(原始字节、缩放图、RGBA、Lab),K-means 迭代参数调优(max_iter=20→10、converge=5→8、runs=3→2)
SMTC
- 生命周期增强:
dispose()时先清除播放状态(SetIsEnabled(false)+SetPlaybackStatus(Stopped))再关闭MediaPlayer,消除异常退出残留 - 启动占位:初始化时设置标题"Pure Music",覆盖上一进程残留的 SMTC 信息
UI / 交互
- 欢迎页:空文件夹时显示"跳过"按钮,直接进入主界面
- 详情页封面模糊强度降低:sigmaX/sigmaY 从 100 降至 40
其它
- flutter_rust_bridge 代码生成重同步(funcId 重编号、新增
system_theme_defaultwire function) - 修复
artistSeparator反序列化类型安全(List<String>.from包裹) - SystemTheme 新增
default_()异步方法
已知问题
- 内存泄漏(持续优化中)
- 更好的歌词动效
- 逐行间奏问题
2.1.0
更新日志 v2.1.0
歌词
- 三大网络歌词源重构:搜索、获取、解析全链路重写,不再卡死,逐字/逐行/KRC/YRC 等格式精准识别
- 本地歌词识别增强:外置
.lrc自动匹配、内嵌元数据提取、精准时间戳解析 - 脏话还原:被平台屏蔽为
***的歌词还原为原始文本 - 分组显示:支持原文|翻译|罗马音的单独管理以及显示
- 元数据自动过滤:著作权声明、作词作曲等头部信息自动清洗,不再混入歌词行
- 歌词滚动引擎重写,集成视口策略与渐隐遮罩
- 歌词行绘制引擎重写,支持 Canvas 逐字渲染
- 歌词加载器重写,编码优先 UTF-8,模糊匹配同目录 LRC
- 逐行歌词高亮正确显示,过渡动画优化
- 搜索结果增加逐字/逐行类型标签
- 实验性 —— 歌词标签写入:支持将网络歌词写入音频文件的元数据标签
性能
- 网络歌词搜索、解密全流程异步化
- 来源选择器按需获取,避免预加载卡顿
- 封面模糊改为离线预渲染,消除逐帧 GPU 开销
UI / 交互
- 播放页进出动画重构
- 二级页面全面引入标签页导航
- 当前播放列表滚动防越界,新增 Reorder 排序模式
- 艺术家/专辑页面 UI 细节打磨
播放引擎
- BASS 引擎切换去重初始化,共享模式添加 DECODE 标记
- WASAPI 缓冲区增大,消除哒哒哒卡顿音
- SMTC 进度更新节流优化,切换时预加载封面与取色缓存
已知问题
- 内存泄漏(我已疾苦)
- 歌词渲染溢出
- 标签写入功能(待完善)
2.0.1
歌词
- 重写逐字歌词解析,修复时间戳、匹配率等问题
- QQ 源重写,翻译/罗马音恢复正常;网易云 YRC 修复;酷狗搜索恢复
- 翻译错位、丢失、间奏空白显示、
//占位符全部修复
性能
- 歌词搜索→解密全部异步化,不再阻塞主线程
- 来源选择器不再预加载,点击才获取,彻底消除卡顿
- 歌词取色/模糊/封面缓存全部加上限,修复内存泄漏
其他
- 罗马音默认开启
- 桌面歌词进程保活
- 修复歌词滚动模糊、拖动提示、滚回闪烁等多个交互问题
待处理
- 内存泄漏
- 歌词文件读取
2.0.0(发布标签含 preview)
音频引擎
- WASAPI 独占模式 — 修复了独占模式
- 均衡器双后端 — 优化了均衡器
- 动态缓冲区 — 根据歌曲采样率自动调整 WASAPI 缓冲大小
歌词系统
- 歌词上抬 — 全新歌词动画
背景
- 新着色器 — 全新着色器
设置
- EQ 预设管理 — 完整预设列表 + 命名保存
- 前置增益与自动增益 — EQ 净空控制
- 中文简繁转换 — 支持切换
- 在线歌词空行过滤
- 窗口状态持久化 — 窗口大小和最大化状态自动恢复
性能
- 请求去重 — 防止重复的封面颜色计算和歌词请求
- 封面防抖加载 — 防止快速切歌时的抖动
- ImageCache 主动清理 — 切歌时主动清理旧封面缓存
待处理
- 内存泄漏
- 歌词文件读取
更早版本见 GitHub Releases。下载见 下载页。
