Releases: jayfunc/BetterLyrics
Release list
v1.3.479.0
An English version follows the Chinese
ℹ️ 更新日志
🔧 修复
- 透明度定义修复:修复了透明色(Transparent)定义相关的异常行为。
⬇️ 下载
- Store: [Microsoft Store](https://apps.microsoft.com/detail/9P1WCD1P597R)
- 教程: [侧载安装教程](https://betterlyrics.github.io/zh-cn/get-started/install)
ℹ️ Update Log
🔧 Fixes
- Transparent Definition: Fixed incorrect behavior regarding the transparency (Transparent) definition.
⬇️ Download
v1.3.478.0
An English version follows the Chinese
ℹ️ 更新日志
⭐ 新增与重构
- 色彩选择提示:在自适应色彩选择功能中新增了颜色显示提示。
🔧 修复与调整
- 主题切换与色彩计算修复:修复了未监听系统主题(AppTheme)切换的问题,并修正了 HSL 颜色方法中的参数错误。
⬇️ 下载
- Store: [Microsoft Store](https://apps.microsoft.com/detail/9P1WCD1P597R)
- 教程: [侧载安装教程](https://betterlyrics.github.io/zh-cn/get-started/install)
ℹ️ Update Log
⭐ New Features & Refactoring
- Color Selection Hint: Added a color display hint for adaptive color selection.
🔧 Fixes & Adjustments
- Theme & Palette Fixes: Fixed an issue where system theme (AppTheme) changes were not being listened to, and corrected an invalid parameter in the HSL color method.
⬇️ Download
v1.3.477.0
📢 公告 / Notice
- 📢 插件更新提示:插件开发流程已更新,请安装了相关插件的用户及时更新插件以确保兼容性。
- 📢 Plugin Update Required: The plugin development workflow has been updated. Users with related plugins installed should update them promptly to ensure compatibility.
An English version follows the Chinese
ℹ️ 更新日志
⭐ 新增与重构
- 跨平台预备:新增
BetterLyrics.Avalonia项目,重构 Core 核心层。 - 依赖精简:删除
External/源码文件夹,改为 NuGet 引用。 - 结构优化:清理项目目录布局,删除
PluginConfigs。 - LRC 导出:支持在保存 lrc 时包含尾音结束时间(#293)。
🔧 修复
- 修复崩溃:修复获取当前媒体会话时间轴属性时的空指针异常。
- 文档更新:修正并更新相关文档。
⬇️ 下载
ℹ️ Update Log
⭐ New Features & Refactoring
- Cross-Platform Ready: Added
BetterLyrics.Avaloniaand refactored core modules. - Dependencies: Removed
External/source folder (replaced with NuGet). - Cleanup: Restructured repository layout and removed
PluginConfigs. - LRC Export: Saved .lrc files now include trailing syllable end times (#293).
🔧 Fixes
- Crash Fix: Resolved
NullReferenceExceptionwhen getting current media session timeline properties. - Docs: Updated and corrected documentation.
⬇️ Download
v1.3.462.0
An English version follows the Chinese
ℹ️ 更新日志
⭐ 新增
-
歌词导出功能:新增支持将歌词导出为
.lrc与.ttml格式文件的功能。 -
双向排版支持(横排/竖排):重构歌词布局逻辑(引入
LyricsLineRendererBase分支体系),全面支持垂直竖排歌词显示,并统一了两种排版方向的滚动、可见性判定与动画管线。 -
图层拖拽与动态排序:引入
LyricsLayerType与LyricsLayerConfig,支持在横排或竖排布局下通过鼠标拖拽调整图层顺序,并提供完整的本地化配置文本。 -
原生对齐与歌手识别:新增“保持原生对齐”设置。支持根据 TTML 内的
agentId自动为不同角色分配对齐方式(如:主唱靠左、和声靠右、合唱居中)。 -
3D 视差倾斜特效(Parallax Tilt):
- 引入
ParallaxTiltControl、ParallaxTiltEffect与EffectRendererBase。 - 为播放页(NowPlayingPage)的专辑封面及相关控件添加了精美的 3D 倾斜与悬停视差特效,支持多图层联动与单层控制开关。
- 引入
-
静态流体背景:为流体背景渲染器新增了“静态模式”可选配置。
-
全新侧边弹窗组件:引入通用组件
FloatSidePanel与SidePanelPlacement枚举,统一了设置页面中的各类弹窗面板,全面支持多方向弹出及点击遮罩层自动关闭。
🪄 调整
- 异步架构现代化重构:引入
Debouncer、AsyncPoller与AppUIThread,统一了全套防抖逻辑与 UI 线程调度方案,彻底移除了老旧的定时器相关实现。 - TTML 规格升级:深度适配
amll-ttml-db技术规范,大幅提升了 TTML 歌词解析、导出、逐字逐素(Syllables)、翻译、正音(Transliterations)及元数据的处理精度。 - 异步加载与容错体验:优化了歌词、字体以及音乐库的异步加载流程,增加了明确的加载状态提示与多重复试机制。
- UI 交互细节优化:
- 为歌词增加了边缘羽化(Edge-feathering)效果独立开关。
- 为
ExternalLinkButton增加了鼠标悬停动画。 - 优化了“关于”页面中的 QQ 群与赞助按钮的交互体验,并增强了鼠标事件处理结构。
🔧 修复
- 流体背景切歌逻辑修正:修复了在切换曲目时,静态模式下的流体背景不会跟随歌曲色彩同步更新的问题。
- TTML 歌曲名解析优化:优化了
musicName标签解析,优先采用第一个非空值作为歌曲标题,防止后续空标签或重复标签覆盖已有数据。 - 核心解析与动画修正:重构了
LyricsContentParser中的EnsureSyllables和EndMs判定逻辑,提升了长音节歌词在NowPlayingCanvas中的动画丝滑度与导出精确度。 - 清理与稳定性增强:移除了代码中冗余的
using引用与命名空间,精简了控制层 ViewModel 中的弹窗状态属性与方法,并修正了部分资源文件及应用清单(Manifest)的配置错误。
⬇️ 下载
-
Microsoft Store
-
侧载
ℹ️ Update Log
⭐ New Features
-
Lyric Export Support: Added support for exporting lyrics as
.lrcand.ttmlformat files. -
Vertical Layout Strategy: Decoupled layout structures by replacing LyricsLayoutManager with
LyricsLineRendererBase. The application now fully supports vertical lyric orientation alongside traditional horizontal displays, aligning scrolling, visibility, and animation pipelines for both modes. -
Drag-and-Drop Layer Reordering: Introduced
LyricsLayerTypeandLyricsLayerConfig, allowing users to reorder presentation layers dynamically via drag-and-drop for both horizontal and vertical layouts. -
Native Alignment via TTML Agent: Added a "Keep Native Alignment" setting to automatically assign line alignments (e.g., primary vocalist left, secondary vocalist right, chorus center) determined by the TTML
agentId. -
3D Parallax Tilt Effects:
- Implemented
ParallaxTiltControl,ParallaxTiltEffect, andEffectRendererBase. - Brought beautiful 3D tilt and hover parallax effects to the NowPlayingPage album art container with customizable multi-layer interaction toggles.
- Implemented
-
Static Fluid Background: Added a static configuration mode option to the fluid background renderer.
-
FloatSidePanel Component: Replaced SwitchPresenter with the new
FloatSidePanelcontrol andSidePanelPlacementinfrastructure, unifying settings popup panels with multi-directional animations and dismiss-on-mask-click behaviors.
🪄 Adjustments
- Modernized Async Architecture: Introduced
Debouncer,AsyncPoller, andAppUIThreadto unify debounce logic and UI thread scheduling codebase-wide; officially cleaned up legacy timer-related code. - TTML Specification Upgrade: Fully adapted to the
amll-ttml-dbspecification, significantly improving TTML lyric parsing, metadata extraction, and export routines for per-word syllables, translations, and transliterations. - Async Loading Experience: Refined asynchronous loading pipelines for lyrics, fonts, and the local music library by adding explicit loading states, optimized retry mechanisms, and supplemental localization assets.
- UI & Interaction Polish:
- Added an independent configuration toggle for lyrics layout edge-feathering effects.
- Added smooth hover animation states to
ExternalLinkButton. - Refined mouse event handling layouts and optimized QQ group and donation button click flows on the About page.
🔧 Fixes
- Static Fluid Background Switch: Fixed a bug where the static fluid background failed to refresh its palette colors when switching tracks.
- TTML musicName Parsing: Optimized
musicNametag parsing to prioritize the first non-empty value, preventing subsequent empty or duplicate tags from erroneously overwriting the active song title. - Parser Animation Smoothness: Refactored
EnsureSyllablesandEndMsprocessing insideLyricsContentParser, correcting long-syllable lyric animations inNowPlayingCanvasand enhancing export precision. - Maintenance & Code Cleanup: Purged redundant namespace imports and using directives, stripped obsolete panel visibility bindings from ViewModels, and resolved minor resource entry and app manifest configuration anomalies.
⬇️ Download
-
Microsoft Store
-
Sideload
- Sideload package is available in the assets
- Installation instructions https://betterlyrics.github.io/get-started/install
v1.3.452.0
v1.3.452.0
An English version follows the Chinese
ℹ️ 更新日志
⭐ 新增
- 数据统计仪表盘与热力图:在数据统计面板(StatsDashboardControl)中新增了类似 GitHub 的贡献热力图,包含完整的数据模型、UI 布局及本地化语言支持。
- 独立统计窗口支持:支持通过菜单项和特定协议(Protocol)将数据统计窗口作为独立窗口打开。
- GIF 播放动态控制:引入
GifHelper.cs并实现IsPlaying附加属性,支持通过数据绑定动态控制 GIF 的播放与暂停。 - 启动与媒体控制选项:新增了在启动时显示或隐藏欢迎屏幕(Splash Screen)的配置选项;新增了当媒体会话为空时自动隐藏窗口的功能。
- 关于页面重构与动态加载:重构了“关于”页面,改为从 CSV 文件动态加载贡献者和赞助者列表,大幅提升可维护性。
- 全新通用组件与转换器:
- 新增
ExternalLinkButton控件,完美适配 Fluent 设计体系并统一了外部链接样式。 - 新增
SafeNumberBox以优雅处理整数与NaN,替换了原有的布局相关数字输入框。 - 扩展了
IntToVisibilityConverter以支持阈值判定,并新增了NaNToZeroConverter。
🪄 调整
- 统计面板与常规 UI 样式统一:统一了数据统计卡片的次要文本颜色以提升视觉呈现效果;重构了设置页面的导航结构,移除了设置页侧边栏中旧版的统计入口;同时统一了卡片控件的样式。
- 歌词检索与界面体验优化:优化了歌词检索过程中的状态提示文本信息;对多个核心场景的 UI 布局和样式进行了微调与改进。
- 精简依赖与模块清理:清理了 AI 插件的相关依赖,并同步更新了子模块(Submodules)、赞助者列表及相关的文档(README/CONTRIBUTING)。
- 应用名称与本地化处理:支持通过包名区分应用名称(AppName);精简并修正了多语言资源文件,新增了“帮助”相关的本地化文本并修复了微小的翻译错误。
🔧 修复
- 调色板异常处理:修复了在获取主题主色调(Accent Colors)时因输入超出范围而导致崩溃的问题,现已支持自动回退至
PaletteGeneratorType.Auto。 - 任务栏挂钩兼容性增强:优化并缓存了任务栏的
AutomationElement,增强了任务栏 Hook 的兼容性。 - 歌词渲染与布局修复:优化了歌词渲染逻辑,修复了在切换时界面布局重新排列(抖动)的问题。
- 稳定性与异常保护:为媒体管理模块引入了异常保护机制,提升了软件运行时的稳定性;修复了曲目年份缺失时的缺省回退值。
⬇️ 下载
-
Microsoft Store
-
侧载
ℹ️ Update Log
⭐ New Features
- Contribution Heatmap & Stats Dashboard: Added a GitHub-style contribution heatmap to the StatsDashboardControl, complete with underlying data models, UI layouts, and localization support.
- Independent Statistics Window: Added support for launching the statistics dashboard as a standalone window via menus and protocol activations.
- Dynamic GIF Playback Control: Introduced
GifHelper.cswith anIsPlayingattached property to dynamically control GIF animation playback via data binding. - Startup & Window Management Options: Added a configuration option to toggle the visibility of the splash screen on startup, and an option to automatically hide the window when the media session is empty.
- Dynamic About Page Restructuring: Refactored the About page to load contributor and donor lists dynamically from CSV files, greatly improving maintainability.
- New Controls & Converters:
- Added
ExternalLinkButtonwith fluent theme adaptation for unified link styles. - Added
SafeNumberBoxto gracefully handle integers andNaNvalues, replacing layout-related NumberBoxes. - Added threshold support in
IntToVisibilityConverterand introducedNaNToZeroConverter.
🪄 Adjustments
- Stats Dashboard & General UI Refinement: Unified the secondary text color across statistics cards to improve data visualization, streamlined the navigation by removing the legacy statistics entry from the settings sidebar, and unified card control styles.
- UX & Layout Optimizations: Improved the status prompt text during lyrics lookup, and optimized UI layouts and styling across several scenes.
- Dependency & Submodule Cleanup: Cleaned up AI plugin dependencies, updated submodules and sponsors, and removed the status table and contributor links from documentation (CONTRIBUTING.md/README.md).
- Application Branding & i18n: Supported package name differentiation for
AppName. Streamlined and corrected multi-language resource files, adding "Help" localization entries and fixing minor translation bugs.
🔧 Fixes
- Palette Helper Fallback: Fixed an issue where retrieving accent colors with an out-of-range input would cause errors; now safely falls back to
PaletteGeneratorType.Auto. - Taskbar Hook & Compatibility: Enhanced taskbar hook compatibility by caching the taskbar
AutomationElement. - Lyrics Rendering & Layouts: Optimized lyrics rendering logic and fixed an issue causing layout rearrangement upon switching.
- Stability & Robustness: Added exception protection for media management to prevent unexpected crashes, and corrected the track year fallback behavior for missing metadata values.
⬇️ Download
-
Microsoft Store
-
Sideload
- Sideload package is available in the assets
- Installation instructions https://betterlyrics.github.io/get-started/install
v1.3.443.0
v1.3.443.0
An English version follows the Chinese
ℹ️ 更新日志
⭐ 新增
- 系统托盘图标颜色切换:支持系统托盘图标在彩色与单色(黑白)之间手动切换,并支持跟随系统主题自动切换。
- 本地化语言支持:新增了意大利语(it)的国际化翻译支持。
🪄 调整
- 调色板算法与代码重构:优化了调色板算法,将相关参数从
bool重构为bool?以提供更灵活的业务逻辑控制;同时替换并新增了多套图标资源,优化了链接导航与代码结构。 - 文件扩展名与 MIME 类型处理优化:引入
MimeMapping依赖库,支持通过MimeUtility.GetMimeMapping动态获取 MIME 类型,移除了冗余的自定义方法;同时强制转换文件扩展名为小写,彻底避免因大小写不一致导致的识别问题。
🔧 修复
- 歌词窗口多项问题修正:修复了切换窗口时歌词窗口内容的闪烁问题,以及靠边停靠(Docked 模式)时歌词窗口位置错乱的问题。
- 崩溃与稳定性修复:修复了在开启多壁纸模式时可能导致应用程序崩溃的严重问题。
- 细节体验优化:修复了主题主色调(Accent Color)的计算器逻辑;修复了专辑封面缓存可能产生空文件名的问题;为曲目年份显示添加了缺省回退值(Fallback)。
⬇️ 下载
-
Microsoft Store
-
侧载
ℹ️ Update Log
⭐ New Features
- System Tray Icon Toggle: Added a toggle for color/monochrome system tray icons with support for automatic switching based on the system theme.
- Localization Support: Added i18n support for the Italian (it) language.
🪄 Adjustments
- Palette Algorithm & Refactoring: Optimized the palette algorithm parameters by refactoring from
booltobool?for improved flexibility. Replaced and added multiple sets of icon resources, optimized link navigation, and refined code structure. - File Handling & MIME Resolution: Optimized file extension handling and MIME type resolution by adding the
MimeMappingpackage dependency to dynamically fetch MIME types usingMimeUtility.GetMimeMapping. Enforced lowercase file extensions to eliminate case-sensitivity bugs and removed the redundant customGetMimeTypemethod.
🔧 Fixes
- Lyrics Window Issues: Fixed lyrics window content flashing when switching windows, and resolved the incorrect lyrics window positioning when in docked mode.
- Crash Fix: Fixed a critical bug where opening multiple wallpaper mode led to an application crash.
- General Enhancements: Fixed the accent color calculator, resolved an issue where the album art cache could generate empty file names, and added a fallback value for the track year display.
⬇️ Download
-
Microsoft Store
-
Sideload
- Sideload package is available in the assets
- Installation instructions https://betterlyrics.github.io/get-started/install
v1.3.436.0
v1.3.436.0
An English version follows the Chinese
ℹ️ 更新日志
⭐ 新增
- 无
🪄 调整
- 专辑封面淡出方向改用开始结束坐标设置
- 调整 Logo
🔧 修复
- 无
⬇️ 下载
- Microsoft Store
- 侧载
ℹ️ Update Log
⭐ New Features
- None
🪄 Adjustments
- Album cover fade-out direction changed to start and end coordinate settings
- Logo adjusted
🔧 Fixes
- None
⬇️ Download
- Microsoft Store
- Sideload
- Sideload package is available in the assets
- Installation instructions https://betterlyrics.github.io/get-started/install
v1.3.432.0
v1.3.432.0
An English version follows the Chinese
ℹ️ 更新日志
⭐ 新增
- 专辑封面淡出可选项
🪄 调整
- 无
🔧 修复
- 尝试修复本地封面匹配逻辑不完整的问题
- 修复播放源页面配置删除按钮显示不完整的问题
- 修复布局编辑器撤销重做功能无法成功应用的问题
⬇️ 下载
- Microsoft Store
- 侧载
ℹ️ Update Log
⭐ New Features
- Album cover fade-out option
🪄 Adjustments
- None
🔧 Fixes
- Attempted to fix incomplete local cover matching logic
- Fixed incomplete display of the delete button in the playback source page configuration
- Fixed inability to successfully apply the undo/redo function in the layout editor
⬇️ Download
- Microsoft Store
- Sideload
- Sideload package is available in the assets
- Installation instructions https://betterlyrics.github.io/get-started/install
v1.3.430.0
v1.3.430.0
An English version follows the Chinese
ℹ️ 更新日志
⭐ 新增
- 无
🪄 调整
- 无
🔧 修复
- 修复歌词切换窗口内容被裁切无法滚动的问题
- 修复布局编辑器画布行间距、列间距最小值未设限的问题
⬇️ 下载
- Microsoft Store
- 侧载
ℹ️ Update Log
⭐ New Features
- None
🪄 Adjustments
- None
🔧 Fixes
- Fixed the issue where the lyrics switching window content was cropped and could not scroll.
- Fixed the issue where the minimum values for row and column spacing on the layout editor canvas were not set.
⬇️ Download
- Microsoft Store
- Sideload
- Sideload package is available in the assets
- Installation instructions https://betterlyrics.github.io/get-started/install
v1.3.428.0
v1.3.428.0
An English version follows the Chinese
ℹ️ 更新日志
⭐ 新增
- 自定义布局编辑器:全新的可视化编辑工具,支持通过拖拽、调整网格等方式自由排版歌词、专辑封面及歌曲信息
- 布局预设系统:引入布局配置机制,支持多种预设模式的快速切换、导入与导出
- 多显示器管理:新增 “移动至显示器” 菜单,支持在多屏环境下快速迁移窗口
🪄 调整
- 任务栏模式重构:优化任务栏挂载逻辑,增强适配,提升稳定性
- UI/UX 改进:重排设置面板,整合专辑封面与歌词样式控制卡片
🔧 修复
- 修复歌词导出时间戳异常的问题(@PiYuanZhouLv)
⬇️ 下载
- Microsoft Store
- 侧载
ℹ️ Update Log
⭐ New Features
- Custom Layout Editor: A brand-new visual editing tool that allows you to freely arrange lyrics, album art, and track information through drag-and-drop and grid adjustments.
- Layout Preset System: Introduces a layout configuration mechanism, supporting quick switching, importing, and exporting of multiple preset modes.
- Multi-Monitor Management: Added a "Move to Monitor" menu for quickly migrating windows across multi-screen setups.
🪄 Adjustments
- Taskbar Mode Refactoring: Optimized taskbar docking logic and enhanced compatibility for improved stability.
- UI/UX Improvements: Reorganized the settings panel, consolidating album art and lyric style control cards.
🔧 Fixes
- Fixed an issue where lyric export timestamps were abnormal (@PiYuanZhouLv).
⬇️ Download
- Microsoft Store
- Sideload
- Sideload package is available in the assets
- Installation instructions https://betterlyrics.github.io/get-started/install