Skip to content

v1.3.452.0

Choose a tag to compare

@jayfunc jayfunc released this 06 Jun 02:46
· 20 commits to dev since this release

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 的兼容性。
  • 歌词渲染与布局修复:优化了歌词渲染逻辑,修复了在切换时界面布局重新排列(抖动)的问题。
  • 稳定性与异常保护:为媒体管理模块引入了异常保护机制,提升了软件运行时的稳定性;修复了曲目年份缺失时的缺省回退值。

⬇️ 下载


ℹ️ 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.cs with an IsPlaying attached 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 ExternalLinkButton with fluent theme adaptation for unified link styles.
  • Added SafeNumberBox to gracefully handle integers and NaN values, replacing layout-related NumberBoxes.
  • Added threshold support in IntToVisibilityConverter and introduced NaNToZeroConverter.

🪄 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