Skip to content

Releases: GaBoron/SPW-island

v1.2.1

Choose a tag to compare

@GaBoron GaBoron released this 25 Oct 04:31

体验改进

  • “暂停时隐藏”平滑收起,恢复播放时反向展开;快速切换衔接当前动画进度。过渡期间暂停鼠标命中并取消残留交互,低性能模式直接切换状态。(Issue #51)

问题修复

  • 为复杂逐字歌词增加轮廓复杂度和计算预算,减少重复缓存;超出预算或后台准备失败时保留基本逐字高亮,降低内存耗尽及异常传播到绘制线程的风险。(Issue #54)
  • 修复 Microsoft Store / MSIX 版 SPW 因应用数据目录虚拟化导致托盘程序无法启动的问题,使用实际重定向目录部署辅助程序。(Issue #55)
  • 托盘辅助程序在消息循环就绪后才确认启动,修复快速启停竞态;启动中断时清理进程并保留中断状态,避免兼容托盘已存在时重复安装。(Issue #52、#55)

维护与文档

  • 完善暂停过渡、托盘就绪、图标注册与恢复、兼容回退的诊断;区分提前退出、真实超时和明确错误,保留非协议输出。(Issue #51、#52、#55)
  • 更新暂停隐藏使用说明、Windows 托盘短暂预览排障说明,以及应用数据路径和歌词几何处理的开发文档。(Issue #51、#52、#54、#55)

安装方式

  • 提供 Windows x64 / Linux x64 通用包 spw-island-1.2.1.spmod,内含源码和许可材料。

v1.2.0

Choose a tag to compare

@GaBoron GaBoron released this 23 Oct 04:50

主要更新

  • 新增默认启用的运行日志,覆盖 Windows、Linux、独立界面及辅助进程,记录异常、关键操作、状态变化、超时和恢复信息。(Issue #50)
  • SPW 插件设置新增“打开日志目录”和“导出诊断包”,词岛窗口或托盘不可用时仍可使用;导出日志及必要运行环境,不会自动上传。(Issue #50)
  • 日志支持轮换、重复异常汇总、10 天保留和 64 MiB 容量预算;清理保护正在使用的日志,过期文件移入系统回收站。异步写入,低性能模式降低状态采样频率。(Issue #50)

问题修复

  • 修复逐字歌词绘制时,路径缓存淘汰仍在使用的轮廓可能导致的原生崩溃。(Issue #54)
  • 修复 Windows 托盘身份随启动变化导致隐藏设置不稳定的问题;固定程序路径与 GUID,并支持资源管理器重启后恢复图标。(Issue #52)
  • 界面帧任务异常后保留调度并降低重试频率,恢复后继续正常绘制。

维护与文档

  • 补充桌面捕获、音频频谱、托盘、指针和进程通信的底层错误、异常堆栈与退出状态记录。
  • 更新原生组件构建输入、开发指南及故障排查文档。

安装与说明

  • 发布通用包 spw-island-1.2.0.spmod,支持 Windows x64 / Linux x64,内含源码及许可证材料。
  • Windows 更新后可重新设置一次词岛图标的隐藏选择;已有重复记录不会自动清除。
  • Linux 日志清理需要 gio;回收站不可用时保留文件,达到容量限制后暂停文件记录。
  • 分享诊断包前请检查异常堆栈中的隐私信息。

v1.1.0

Choose a tag to compare

@GaBoron GaBoron released this 19 Oct 09:44

主要更新

  • 新增鼠标滚轮调节 SPW 音量,默认关闭,每格调节 2%,范围 0–100%。
  • 调节时进度条过渡为音量条,支持点击、拖动和悬停保持;停止操作并移开后 2 秒恢复进度条。收起时复位,低性能模式保留操作并简化过渡。

体验改进

  • 设置页整理为七个功能分组,精简说明;“找回词岛”移至首组,“重置设置”置于末组底部。

问题修复

  • 修复 Windows 重新启用插件时,生命周期线程与界面线程相互等待造成的卡死。
  • Windows 原生库及辅助程序改从临时目录运行,JNA 改为复用 SPW 自带版本,消除插件目录中相关文件的占用来源。
  • 完善停用时的资源释放,取消尚未执行的界面启动及字体窗口打开操作。
  • Linux 在 GTK 3、GTK 2 均不可用时,通过 GIO / D-Bus 提供托盘图标和菜单;支持托盘服务恢复后重新注册,并保留具体失败原因。(Issue #46)

维护与兼容

  • 更新使用、安装、兼容性、排障、开发文档及第三方依赖声明。
  • 音量控制适配 SPW 1.19 内部接口;接口不兼容时提示不可用。
  • Linux 仍为实验性支持;D-Bus 托盘需要 GIO、桌面会话总线及 StatusNotifierItem 支持。

v1.0.1

Choose a tag to compare

@GaBoron GaBoron released this 18 Oct 03:36
  • 修复 Linux 托盘无法加载 GTK 3 的问题:补充系统库路径查找,支持 GTK 2 回退,并匹配对应版本的 AppIndicator。(Issue #46)
  • 托盘退出或通信失败时保留原始错误,统一提示通过 SPW 插件设置页管理词岛。(Issue #46)
  • 更新 Linux 安装、兼容性、排障及开发文档,说明 GTK 回退和隔离环境中的库可见性。(Issue #46)
  • README 新增 Steam 创意工坊订阅入口。

v1.0.0

Choose a tag to compare

@GaBoron GaBoron released this 17 Oct 16:07

主要更新

  • 适配 SPW Workshop API dev23,要求 SPW 1.19.0 或更高版本及 Java 25,不再兼容旧宿主。(Issue #24;PR #45)
  • Windows x64 与 Linux x64 合并为一个 .spmod,自动选择平台组件。Windows 提供完整功能,Linux 保持实验性支持。
  • 名称统一为“灵动词岛 for SPW”,简介更新为“SPW 灵动词岛插件:逐字歌词、桌面悬浮与播放控制”,同步窗口、托盘及辅助功能名称。

体验改进

  • 通过公开 API 获取当前歌曲、时长、内嵌封面和完整歌词时间轴,移除旧宿主反射探测;本地文件继续补充缺失的元数据。(Issue #24;PR #45)
  • 完整歌词快照支持清空与重载、暂停画面更新和当前行查找;低性能模式同样接收完整时间轴。(Issue #24;PR #45)
  • 显示快捷键交由 SPW 管理,保留默认 Ctrl+Shift+D,支持自定义、冲突管理和全局绑定。曲库读取或快捷键未授权时,保留仍可使用的功能。(Issue #24;PR #45)
  • 两平台共用设置页,标明平台专属选项,保留原有配置键及默认值;Linux 字号范围统一为 12–72。

维护与文档

  • 使用上游 Workshop Gradle 插件生成安装包、清单与权限声明。(Issue #24;PR #45)
  • 对齐 Java 25、Kotlin / Compose compiler 2.4.20、Compose Multiplatform 1.12.1 和 Gradle 9.8.0,调整依赖解析。(Issue #24;PR #45)
  • 统一打包两平台原生库、辅助程序、GNOME 扩展、许可证与对应源码;构建入口统一为 Windows 上的 plugin。
  • 合并元数据后台处理与生命周期管理,更新安装、使用、兼容性、故障排查、开发文档和第三方声明。

安装方式

导入 spw-island-1.0.0.spmod,按需授予曲库读取和快捷键权限。原有设置可继续使用,Windows 更新后请重启 SPW。

已知问题

以下为代码审查中尚未处理、待实机确认的边缘风险:

  • 宿主返回无法解码的封面时,可能跳过有效的本地内嵌封面。
  • 启用时首次曲目查询暂时失败,可能需要切歌才能显示当前歌曲。
  • 同曲播放结束后重播,特定回调顺序可能丢失完整歌词快照。
  • 完整歌词回调与切歌并发时,可能短暂显示上一首歌词。(以上均见 PR #45)

v0.14.0

Choose a tag to compare

@GaBoron GaBoron released this 16 Oct 13:10

主要更新

  • 新增“强制逐字显示”:普通 LRC 按行时长估算逐字进度,原生逐字时间轴优先;估算歌词不应用长音发光。(Issue #26)
  • Windows 液态玻璃扩展至右键菜单和关于页,采用与词岛相同的 GPU 刷新方式,支持首帧准备、深浅主题及原有交互。

体验改进

  • 统一增强中心模糊和边缘折射,改善圆角边缘与文字对比度。
  • 关于页按“播放与显示”“渲染与材质”“音频与交互”分组,分开展示状态、捕获指标与异常原因。

维护与文档

  • 拆分逐字估算、状态排版与共享窗口材质模块,统一输入处理和资源释放。
  • 同步强制逐字、液态玻璃和状态页的使用说明。

安装方式

提供 Windows、Linux x64 安装 ZIP;Windows 更新后需重启 SPW。

v0.13.1

Choose a tag to compare

@GaBoron GaBoron released this 15 Oct 15:06
  • 修复 Windows 液态玻璃在存在同名显卡适配器时错误回退 CPU 中转的问题。
  • CPU 中转时显示具体失败环节与错误码;GPU 后端尚未就绪时等待初始化完成。

Windows 更新插件后请重启 SPW。

v0.13.0

Choose a tag to compare

@GaBoron GaBoron released this 15 Oct 14:39

主要更新

  • Windows 新增“液态玻璃(实验性)”背景,实时呈现桌面模糊、边缘折射、轻微色散与方向高光,保留原有词岛形状、内容和动画。
  • 半黑遮罩和低对比度整行描边增强歌词可读性,描边沿用经典样式。

使用与限制

  • 在 SPW 插件设置的“背景样式”中启用,默认仍为经典背景。
  • 液态玻璃仅支持 Windows 11 SDR 桌面;低性能模式或捕获不可用时使用经典背景。Linux 保持经典背景。
  • 启用液态玻璃时,词岛会从支持系统捕获排除的录屏中消失。
  • Windows 更新插件后请重启 SPW。原有设置和安装方式保持不变。

v0.12.1

Choose a tag to compare

@GaBoron GaBoron released this 13 Oct 23:45

性能优化

  • 词岛改用 GPU 绘制,保留原有样式、逐字动效、字体回退和播放控件;GPU 不可用时自动使用兼容绘制。
  • 缓存歌词、逐字几何和长音分析结果,减少播放过程中的重复计算。
  • 根据词岛所在显示器的刷新率安排绘制,标准模式最高 120 FPS,低性能模式最高 15 FPS。
  • 减少设置同步时的重复读取;关闭“显示词岛”后释放绘制资源,临时隐藏时保留缓存。

兼容性

  • Windows 使用 Direct3D;Linux 使用 OpenGL,需要可用的驱动及 libGL、libX11、fontconfig。
  • 可在“关于与状态”查看 GPU 绘制是否启用。原有配置和安装方式保持不变。

v0.12.0

Choose a tag to compare

@GaBoron GaBoron released this 04 Oct 09:53

主要更新

  • Linux 支持 SPW 进程的四频段实时频谱和频谱取色。仅采集 SPW 的音频,实时音频不可用时使用模拟频谱。
  • Linux 支持鼠标穿透和悬停隐藏。悬停隐藏可用于 X11、KDE Wayland,以及安装配套扩展的 GNOME Wayland 45–50。

体验改进

  • “关于与状态”显示词岛、性能模式、频谱来源和鼠标交互状态,并提供连接异常的处理提示。
  • 快捷菜单保留显示、穿透、悬停隐藏、低性能模式和恢复操作,完整设置在 SPW 插件配置页中调整。
  • 开启悬停隐藏后自动启用穿透;从菜单关闭穿透时,同时关闭悬停隐藏,恢复鼠标操作。

问题修复

  • 修复 Linux 下移向原生 Wayland 窗口后,播放控件无法收起的问题。
  • 修复 Linux 拖动词岛或播放进度条后,显示短暂跳回旧位置的问题。
  • 修正设置保存与同步,避免旧配置覆盖位置、字体或同时修改的设置。

安装方式

  • 在 SPW 插件管理中导入对应平台的 spw-island-0.12.0-windows-x64.zip 或 spw-island-0.12.0-linux-x64.zip。
  • Linux 实时频谱需要 PipeWire 及 pw-record、pw-dump。
  • GNOME Wayland 用户需在插件配置中点击“安装 GNOME 悬停隐藏支持”,首次安装或更新后保存工作并重新登录。
  • Linux 仍为实验性支持。前台全屏隐藏和额外置顶强化仅支持 Windows;Linux 词岛区域右键菜单暂不可用,快捷设置请使用系统托盘。