Skip to content

Releases: ZhaoBuyan/MuSync

MuSync v0.4.2

Choose a tag to compare

@github-actions github-actions released this 22 Sep 01:43

新增「常驻状态」、背景图裁剪与窗口比例跟随;并修复长时间运行后偶发的同步停止。

新增

  • 常驻状态:没有音乐、也没有程序在同步时不再清空状态,改为推送你自定义的一段文字
    (设置 → 显示 →「常驻状态」,支持 emoji)
  • 背景图裁剪 + 窗口比例跟随:选完背景图可以拖框裁剪;主窗口尺寸随图片比例自适应
    (保持窗口中心、不出屏幕)

改进

  • 更省电:没有音乐也没有程序来源满 5 分钟后,轮询降到 3 秒一轮;检测到播放立刻回到全速
  • 最小化不再空转:窗口最小化 / 收到托盘后停止每秒的界面刷新,恢复时自动补刷一次
  • 标题与程序说明:主窗口标题改为「MuSync - 状态同步」,程序说明改为「MuSync - 把音乐与程序状态同步到 Steam」(原来说法只提音乐)
  • 开源许可随附:关于页新增「开源许可」(可直接查看 MuSync / SteamKit2 等许可证全文);安装目录与 Release 资源同步随附

修复

  • 偶发的同步停止:长时间运行后状态可能不再更新、需重启程序——新增看门狗自动恢复
    (主循环停摆超过 30 秒会自动重启并记录日志),各处等待也都补上了超时
  • 托盘图标:资源管理器(Explorer)重启后图标不再失联,会自动重新注册

MuSync v0.4.1

Choose a tag to compare

@github-actions github-actions released this 16 Sep 03:45

新增界面英文与安装器双语;面板视觉小幅优化。

新增

  • 界面英文:设置 → 常规 →「语言」(中文 / English,重启生效)——主界面、托盘、登录窗、
    更新窗、设置窗全部页面、积木编辑器、诊断报告全面支持英文
  • 安装器双语:安装向导支持中 / 英文,升级时沿用上次选择的语言

改进

  • 面板视觉:左右铺满(消除左右留边)+ 上下渐变(顶部轻羽化 / 底部渐隐)
  • 安装器载荷不再压缩:装好后内存约 218 → 127 MB;安装包 51.6 → 38.0 MB(反而更小)
  • README 主推完整版(安装器版为备选);关于页移除「安装器版支持一键更新」提示
  • README 拆分中英双份:README.md(英文)/ README_CN.md(中文)

MuSync v0.4.0

Choose a tag to compare

@github-actions github-actions released this 15 Sep 10:45

新增酷狗音乐支持与外观自定义,带来全新的「安装器版」发行形态(支持一键自动更新);并对底层做了一轮完整审查。

新增

  • 酷狗音乐支持:窗口标题取歌名 / 歌手 + 内存读取播放进度;暂停判定、封面与应用图标、专属品牌色
  • 外观系统:可自定义标题颜色 / 歌名颜色 / 字体 / 背景色 / 背景图(拉伸 / 适应 / 平铺 / 居中)、
    一键恢复默认;面板半透明与渐变分隔线,四个播放器带品牌色标识
  • 安装器版(MuSync-Setup.exe):安装到用户目录、全程无需管理员权限;支持一键自动更新——
    自动下载并静默安装、自动重启,无需手动替换文件
  • 诊断信息充实:诊断页「复制诊断信息」一次拿到完整状态(版本 / 连接 / 各播放器 /
    设置 / 外观 / 系统 / 路径),反馈问题只需粘贴一次

改进

  • 断线自愈补全:重连成功后自动重推状态;系统从睡眠 / 锁屏恢复后自动恢复
  • 二次启动唤起已有窗口;托盘菜单重排(含「窗口回中」)
  • 资源占用:非活跃播放器降频轮询;日志治理(14 天 / 50MB);内存快照
  • 更新检查周期化:启动后检查 + 每 6 小时自动复查
  • 更新包形态匹配:完整版 / lite 按程序形态取包,程序改名后也不会取错
  • 下载安全与工程:SHA256 校验、零宽字符过滤、配置 SchemaVersion、CI 版本一致性校验
  • 全部提示静音:托盘气泡不再播放系统提示音(保留文字提示)
  • 设置按钮渲染修复(半透明自绘 + 更新红点自绘);「AI 建议」文案清理

修复

  • 断线重连后 Steam 状态不恢复:会话层缓存未同步清理,重连后状态保持消失直至切歌;已补全
  • 播放器进程句柄泄漏:切换播放器 / 读取失败重试时未释放,长时间运行会持续累积
  • 配置保护:临时读取故障不再用默认值覆盖磁盘配置(防登录令牌丢失);保存加锁防并发损坏
  • 内存读取健壮性:读取失败返回脏数据、UTF-8 截断边界、图片缓存越界、背景图流生命周期、
    网易云歌单缺字段、洛雪失败缓存、酷狗扫描节流与暂停误判等多项修复
  • 更新失败可见:安装失败弹出明确错误提示(此前可能静默消失);一键更新增加形态防呆

工程

  • 单元测试 75 → 87 个
  • CI 发布三个资产:MuSync.exe / MuSync-lite.exe / MuSync-Setup.exe
    新增 installer/(Inno Setup 脚本 + 本地构建脚本)

MuSync v0.3.0

Choose a tag to compare

@github-actions github-actions released this 14 Sep 10:49

本次更新聚焦体验打磨:设置窗口重做为单窗多页,检查更新支持直接下载与红点提醒,进度条可以完全自定义。

新增

  • 设置窗口重构:单窗多页(常规 / 同步 / 显示 / 程序 / 诊断 / 关于),所有设置平铺在一个窗口内,
    不再有「设置里的设置」;删除两个失效控件(显示歌手 / 显示进度条——实际显示由模板引擎控制)
  • 检查更新体验升级
    • 红点提醒:发现新版本时,主窗口「设置」按钮显示红点、关于页出现提示、托盘右键菜单出现
      「⬆ 有新版本」,点击直接查看更新内容(不再用容易错过的托盘气泡)
    • 直接下载:更新窗口内显示更新日志并一键下载(进度显示、可取消);下载完成后点
      「退出并打开文件夹」——MuSync 自动退出并打开新旧两个位置,拖拽替换即可;失败可跳转浏览器打开发布页
  • 进度条自定义增强:格数 1~50 可调(默认 10);字符支持任意 emoji,可直接粘贴
    ❤️❤️💕💕💕💕 这样的一串自动识别填充 / 空白——顺便修复了 ❤️ 这类带变体选择符的
    emoji 此前会被拆坏的问题
  • 同步频率档位:快速 0.25s / 标准 0.5s(推荐)/ 省流 1s——网络不稳或想省流量时可选
  • 诊断页:内存占用信息 + 「打开日志文件夹」一键打开(遇到问题时,把文件夹里最新日期的
    日志发给开发者即可)+ 当前版本号
  • 关于页:版本信息、项目主页、下载与更新日志入口、「检查更新」按钮、洛雪音乐使用提示

改进

  • 检查更新对网络更友好:后台发现更新后记住结果,点击即可直接查看,不再当场联网等待
  • 更新包按程序形态自动匹配:轻量版取 lite 包、免安装版取完整包;不确定选哪个就用完整版
    (内置 .NET 运行时,双击即用)——lite 版体积更小,但需已安装 .NET 9 桌面运行时
  • 下载安全策略:先写临时文件、校验通过才转正;任何失败 / 取消都不会影响现有文件,
    旧版本安装包仅在下载成功后清理
  • 移除 AI 辅助分类入口(本地程序分类字典已覆盖绝大多数场景;相关配置字段保留)
  • 洛雪音乐提示补全:同步页 / 关于页 / README 均说明需启用开放 API 服务并允许局域网访问
  • 日志中的 Steam ID 做脱敏处理(分享日志时无需担心泄露账号标识)
  • 显示模板预览智能化:正在播放时用真实歌曲预览,未播放时示例循环(每 2 秒刷新)
  • README 新增「常见问题」章节(登录失败 / 好友列表 / 洛雪识别 / 配置异常)

修复

  • 配置每次启动被误判“损坏”并重置的问题:修复 JSON 选项初始化时序缺陷——此前每次启动
    都会把程序同步列表 / 播放器优先级重置为默认(0.2.0 遗留),首次运行时的配置保存失败
    Parameter 'encoding')一并修复。无需删除旧配置,升级后自动恢复
  • 多开 / 快速重启导致登录被顶掉(会话互踩):Steam LoginID 改为每次随机生成,
    不再与上一次会话的固定 ID 冲突(此前表现为登录成功后不久掉线、AccessDenied)

工程

  • csproj 版本号 0.1.0 → 0.3.0(含补上 v0.2.0 发布时遗漏的 bump)
  • 单元测试 35 → 75 个:覆盖更新资产选择、更新包名解析、旧包清理策略、下载端到端
    (成功 / 校验不通过 / HTTP 错误 / 用户取消)、进度条 emoji 解析与长度、配置读写时序回归等场景

MuSync v0.2.0

Choose a tag to compare

@github-actions github-actions released this 12 Sep 20:30

一次大规模功能更新:从"音乐播放器专用"升级为「音乐 + 任意程序」的 Steam 状态同步。

新增

  • 程序同步(全新):把任意程序/游戏同步到 Steam 状态
    • 前台程序检测(微秒级开销,只读进程名/窗口标题,不读内存,反作弊环境安全)
    • 程序分类(忽略 / 游戏 / 工作 / 媒体 / 社交 / 其他)+ 单程序策略覆盖
    • 自动发现新程序:内置约 50 个常见程序字典 + 全屏检测智能建议分类
    • "运行即显示"模式(挂机程序持续显示)
    • 程序同步设置窗口:总开关、规则列表(显示名/分类/模式)、"添加当前前台程序"
  • 积木编辑器:模板可视化编辑——无限添加积木块(歌名/歌手/进度条/程序名/分隔符/自定义文字),
    ↑↓ 排序、实时预览,告别手写变量
  • 模板预设:简洁 / 带前缀(正在玩 · 正在听)/ 只要名字,一键切换
  • 进度条样式自定义:预设样式 + 任意字符(含 emoji)
  • 显示模板引擎:程序与音乐组合显示,分隔符可选可自定义
  • 音乐 / 程序独立开关:分别控制两类状态的同步;"暂停时自动隐藏音乐"
  • 音乐播放器优先级可配置:设置内调整顺序,首页与同步即时生效
  • 首页重构:3 个固定面板 → 动态「音乐」(跟随当前活跃源)+「程序」双面板,
    新增 Steam 连接状态标签、程序图标显示
  • 双击歌曲名打开歌曲页面;托盘实时显示播放状态 + 「暂停同步」一键开关
  • 登录窗内置手机验证步骤引导(Steam 客户端 / 实际所在地)

改进

  • 进度刷新 1 秒 → 0.5 秒,Steam 端滚动更平滑
  • 状态文本上限 63 → 128 字节,智能降级截断(优先保程序名)
  • 登录错误提示全中文化(密码错误 / 令牌问题等明确区分)
  • 连接健壮性大幅增强
    • TCP 连接失败自动回退 WebSocket (443 端口)
    • 服务器列表本地持久化缓存(官方接口不可达时仍可连接)
    • 服务器要求换节点(TryAnotherCM)自动重试,最多 4 轮
    • 令牌不再因超时/网络波动被误清
  • 发布方式:提供免安装单文件(内置 .NET 运行时,双击即用)+ 轻量版双产物
  • 应用图标替换为小王子插画(圆形多尺寸 ICO)

修复

  • 前台检测 P/Invoke 缺失 Unicode 后缀导致主轮询循环异常(界面"识别-清空"闪烁)
  • 登录窗句柄竞态(旧窗口销毁后收到事件回调导致"在创建窗口句柄之前"异常)
  • 配置被重置问题:读取兼容性问题 + 写入中断风险 → 改为原子写盘 +
    宽容解析(任意格式枚举值均可读取)+ 坏文件自动归档
  • 积木编辑器在高 DPI 下按钮被窗口裁剪

工程

  • 新增 SECURITY.md:登录流程 / 数据流向 / 风险与撤销方法完整交代
  • 单元测试 17 → 35 个(配置兼容性、宽容读取、分类器、保存链路等)
  • CI 双产物构建 + Release notes 自动从 CHANGELOG 提取
  • .gitignore 加固(本地配置 / 日志 / 缓存永不入库)

MuSync v0.1.0

Choose a tag to compare

@github-actions github-actions released this 07 Sep 23:46