Skip to content

Releases: nagi-studio/Yokaze

v0.13.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 13:15

新增

  • 改名 Yokaze(夜風),换上新图标。应用图标、菜单栏图标和 ypm TUI 的开场动画都换成了新的。

修复

  • Windows 上启动游戏或切换分辨率时,任务栏歌词会弹出来抢走焦点。比如启动 4:3 拉伸分辨率的 CS,游戏会被打断。现在任务栏歌词因为分辨率变化等原因自己恢复成悬浮播放器时,不会再抢焦点;只有你点恢复按钮或从托盘打开时,窗口才会切到前台。

升级注意

  • macOS:通过自动更新升级的,/Applications 里的文件名还是 YesPlayMusic.app,打开后已经是 Yokaze。想让文件名也变成 Yokaze.app,可以退出应用,删掉旧的,再从下面的 DMG 重新安装。登录状态、设置和歌曲缓存都会保留。
  • Windows:安装新版时会自动卸掉旧的 YesPlayMusic,数据保留。

感谢 @M1gr4ine 修复了任务栏歌词抢焦点的问题。

Full Changelog: v0.12.0...v0.13.0

v0.12.0

Choose a tag to compare

@github-actions github-actions released this 18 Oct 16:50

新增

  • Windows 上可以把小播放条收进任务栏,变成一条任务栏歌词。把小播放条拖到任务栏附近松手,它会飞进任务栏的空位,显示封面、当前歌词和播放控件;点条上的按钮可以恢复成悬浮播放器。全屏玩游戏或看视频时会自动藏起来,退出全屏后恢复。不想要可以在设置里关掉「允许吸附到任务栏」。
  • Windows 上可以一键登录 QQ 音乐。在官方登录页登录后,QQ 音源需要的 cookie 会自动填好,不用再手动复制。
  • 竖屏窗口的歌词页可以把播放控件放到底部。在设置里改「竖屏时播放控件的位置」,默认仍在上方。
  • Windows 上小播放条展开成播放队列时有过渡动画,可以在设置里用「窗口过渡动画」关掉。

修复

  • QQ 音源解灰一直取不到能播的地址。现在按正确格式请求;失败时日志会写明原因。注意 QQ 只给已登录、且从中国大陆网络发出的请求返回播放地址。
  • 竖着的窄高窗口里,歌词页不显示封面和播放控件,没有歌词的歌只剩一片背景。
  • 歌词页的空白处拖不动窗口。封面周围、控件之间和歌词区的空白处现在都能拖动窗口,歌词照样能点、能滚。
  • 把小播放条展开到较窄的窗口时,播放队列会被歌词页盖住。
  • 小播放条的歌词可能被撑成一个巨大的「纯」字,现在字号会跟着播放条的大小缩放。
  • 更新或回退版本后,页面偶尔白屏。
  • Windows 任务栏歌词上偶尔多出一条横线残影,在托盘右键或切歌后出现。

感谢 @M1gr4ine 贡献了任务栏歌词、QQ 音乐一键登录和播放条动画。

Full Changelog: v0.11.1...v0.12.0

v0.11.1

Choose a tag to compare

@github-actions github-actions released this 31 Aug 19:32

修复

  • 外部音乐条可能显示正在播放和跳动频谱,但实际没有声音。 播放状态现在只会在当前音频真正开始后发布;播放失败可以重试,拖动失败也不会中断当前播放。
  • 同时启动多个 ypm TUI 时,后启动的实例可能接入错误的控制端。 检测到已有活动实例后会直接提示并退出,残留的旧连接仍可自动恢复。
  • 使用 HTTPS 上游代理时,证书校验可能采用错误主机名。 现在会按代理服务器主机名校验证书。

Full Changelog: v0.11.0...v0.11.1

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 31 Aug 15:38

新增

  • ypm 可以把封面和播放位置交给外部 TUI 了。状态接口会返回经过清理的网易云小图地址和当前歌曲是否可跳转,ypm seek 只在播放器真正就绪后执行,加载中、换曲或播放失败时都会拒绝误操作。
  • 新增实时频谱流。外部客户端可以按 1 到 20 FPS 订阅固定 32 段的频谱数据;没有订阅者时不会持续做 FFT,慢客户端也不会拖住播放器。

修复

  • 暂停播放或默认关闭频谱时,外部客户端第一次连接可能一直收不到数据。订阅变化现在会立即唤醒播放器,即使没有按键或播放事件也能拿到第一帧。
  • 设置页底部播放条比资料库、搜索和队列页窄。宽屏下统一使用相同宽度,不再切到设置页就缩进去一截。
  • 设置页会把“播放中 · flac”误当成设置反馈。设置操作改用页面自己的提示状态,播放信息不会再串进保存和取消区域。

Full Changelog: v0.10.0...v0.11.0

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 22 Aug 05:38

新增

  • 启动动画整个重做了。默认是新的「音符拼图」:音符从下方升起,把 logo 当拼图一块块拼好,最后一道出厂高光扫过。不喜欢这款还有充电、扫描、涟漪、聚焦、下雨等共 12 种,在设置页「启动动画」上按 h/l 换着看,选中即全屏预览,预览角落写着当前动画名和键位。任意键跳过,Ctrl+C 永远是退出。
  • 动画结束不再是「切换」。开屏动画就在主页面 logo 的位置、以同样的大小和渲染精度落定,最后一帧和主页面逐格相同——包括封面分块设为 quad / sextant / octant 的时候。配置了自定义开屏图的用户则得到一段独立的全屏开场,不再假装能无缝落到另一张图上。
  • 设置页能看到缓存占了多少磁盘了。选中「缓存总上限」,提示行实时显示音频和封面各自的 已用 / 配额;读不到的仓库会明说「暂时无法读取」,不再伪装成 0。

变更

  • 「缓存总上限」现在管全部缓存。原来这个数字只管音频,封面另有一个 128MB 的写死小池子、一直满着换血——被挤掉的封面下次听到还得重新下载。现在设一个数就是 ypm 一共能占的磁盘:封面按 4% 分成(最少 256MB、最多 2GB),音频拿剩下的;在设置页调整立即生效,不用重启。
  • 封面渲染缓存会自己收拾了:32MB 上限,最久没用的先删。终端窗口换过的每种尺寸、换过的每个主题留下的旧渲染会自然过期,不再永久堆积。

修复

  • 动画放完闪一下空帧再出 logo:交接帧时序问题,现已逐帧无缝。
  • 交接瞬间整张 logo 突然「锐化」一下:动画按半块渲染、主页面按所配分块渲染,同色不同形。现在每块拼图落位即换成最终字形。
  • 彩色主题下动画会点亮 logo 之外的透明角落:图标的透明边距被压成背景色后当成了实体像素。
  • 矮终端上动画比主页面的 logo 多出几行,结束时凭空消失:动画现在裁进主页面真正保留的区域。
  • 浏览页底部播放条的封面顶着屏幕左边:右移两列,与上方面板的文字对齐。

升级注意

  • 配置里的 intro_animation 现在接受动画名(如 "notes"),旧的 true / false 依然有效。降级回 v0.9.3 及更早版本时旧程序读不懂动画名会报配置错误,把那一行改回 true 或删掉即可。
  • cache_limit_mib 语义从「音频上限」变为「音频 + 封面合计」,音频实际配额比原来少约 4%。低于 1024 的取值现在会被拒绝。GUI 设置里的共享缓存上限继续只管音频。

Full Changelog: v0.9.3...v0.10.0

v0.9.3

Choose a tag to compare

@github-actions github-actions released this 20 Aug 15:28

新增

  • 启动时会播一段像素 logo 动画,按任意键立刻跳过。不想要可以在设置页最后一项「启动动画」关掉。终端太窄、不支持 UTF-8 或输出被重定向时自动不播。
  • 搜索结果滚到底会自动加载下一页。之前无论搜到多少首都只给前 30 条,标题上却写着服务端返回的总数,看着有几百首却怎么也翻不到。
  • 设置页新增「封面大小」,三档 compact / auto / large。默认 auto 和原来一样。

修复

  • 歌单只加载了一部分就不再往下翻:某一页里有一首歌数据损坏时,后面所有页都不会再请求。歌单越大越容易碰上。
  • 某些封面偏小、四周留白:按屏幕算出来的高分辨率封面,会被一处写死的尺寸重新缩回去。
  • 第 1000 首之后曲库和队列的右边一列被挤出屏幕:序号列宽度写死了三格。
  • 歌名带括号的歌词整段消失:像「Hello (2024, Remix)」这种括号里有数字的,被误判成时间标签删掉了。
  • ypm update 动画播到一半按 Ctrl-C,终端光标不见了。

变更

这一版把一批「出错了也装作没事」的兜底删掉了,它们并没有让软件更稳,只是把真实故障藏成了看不出来的错误状态。以下情况从今往后会明确报错:

  • ypm update 在离线、GitHub 限流或 Homebrew tap 损坏时会说清楚哪里出了问题,不再一律显示「已是最新版本」。
  • 配置文件有语法错误或非法取值时,ypm 启动即报错并指出问题所在。之前是带着默认值照常启动,然后你在设置页改任何一项、一保存,原来的配置就被默认值覆盖掉了。
  • 收藏列表、账号信息读取异常时会报错,不再静默地把歌显示成未收藏,或在离线时改用另一个账号的本地曲库。
  • 登录前试听遇到网络问题会直接说明,不再连试八首之后告诉你「都不能播」。

如果你的 ~/.config/ypm/config.toml 是手写的,升级后第一次启动可能会报配置错误——按提示改掉那一行即可。可用字段见 README。

Full Changelog: v0.9.2...v0.9.3

v0.9.2

Choose a tag to compare

@github-actions github-actions released this 20 Aug 02:17

新增

  • 安装包有 Apple 签名和公证了:下载 DMG 后直接双击打开就行,不用再去「系统设置 → 隐私与安全性」点「仍要打开」,也不用在终端敲 xattr。

说明

这一版没有功能改动,代码和 v0.9.1 完全相同,改的是发布流程本身。从这个版本起,每次发版的 DMG 都会用 Developer ID 证书签名并送 Apple 公证,签名、公证或票据校验任何一步失败就不产出安装包。v0.9.1 及更早的包仍是 ad-hoc 签名,第一次打开还是需要手动放行。

终端版 ypm 的二进制不走这套流程,仍然由 Minisign 验签保证 ypm update 的完整性。用 Homebrew 安装或 ypm update 升级都不受影响;只有从 Releases 页面用浏览器直接下载 ypm-macos-aarch64 时,首次运行仍需要 xattr -d com.apple.quarantine ypm-macos-aarch64。

Full Changelog: v0.9.1...v0.9.2

v0.9.1

Choose a tag to compare

@github-actions github-actions released this 18 Aug 21:05

新增

  • ypm update 全新界面:开场是 ypm 图标逐行展开的像素动画,下载有真实进度条——百分比、已下载/总大小、实时速度,四个步骤各自打勾。终端太窄、不支持 UTF-8 或输出重定向到文件时自动退成纯文本,不会打印乱码。
  • TUI 里按 U 直接升级,不用退出去敲命令。首页「有新版本」的提示改成指这个键,按下后状态栏显示下载进度,装好提示重启生效。
  • Homebrew 安装的也能用 ypm update 了:它会先查 tap 里的 formula 版本(而不是 GitHub 上的 tag,那两者不同步时会让你 upgrade 不动),确实有新版就替你跑 brew update && brew upgrade ypm,全程不碰 Cellar 里的文件。
  • 点歌手名或专辑名直接进详情页:正在播放界面里点一下就跳转,和桌面版一致。数据里没带 ID 的曲目不显示为可点。
  • 封面预览多了一行专辑名。单曲的专辑名常和歌名相同,这种重复的一行会留空。

变更

  • 大屏上曲库、搜索、队列用更宽的版面(140 列),能多显示专辑列;正在播放、登录、设置保持 110 列——歌词是拿来读的,太宽反而累。
  • 选中行不再整行横向滚动:只有歌名会滚,歌手和专辑一样截断。原来两段文字用同一个节拍滑动,看起来像整行在动。
  • 侧栏布局的频谱有了高度上限。屏幕一高它原本能吃掉二十几行,柱子贴底画,上面那一大片空白读起来像排版坏了;省下的高度给歌词,歌词窗口最多可到 20 行。

修复

  • 播放时进度条和歌词会卡住不动,要把鼠标移回终端里才继续走。现在只要有歌在放就持续刷新。
  • 在终端标签页之间切换回来会直接崩溃退出(提示 The cursor position could not be read within a normal duration),鼠标不在终端窗口内时必现。音乐是好的,但整个程序会退出。
  • 把窗口从一块屏幕拖到另一块(内置屏与外接屏之间)封面会画错:拖到大屏溢出并被裁掉,拖回小屏又缩得很小、周围一圈空白。现在换屏后会自动按新屏幕重新渲染封面。
  • 封面在部分终端里偏上、四周留白:字符格的实际宽高比并非代码假定的 1:2,封面框因此算高了,图片也没按封面区的真实像素尺寸去取。现在两者都按终端上报的真实像素计算。
  • 发布 v0.9.0 时漏了同步 Homebrew tap,导致 brew 用户升不上来;发版流程已补上这一步。

Full Changelog: v0.9.0...v0.9.1

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 18 Aug 12:13

新增

  • ypm TUI 一条命令自我升级:ypm update 下载官方新版、验签通过后原子替换;Homebrew 安装会提示改用 brew upgrade。TUI 首页显示当前版本号,有新版时该行变成更新提示。
  • ypm 遥控子命令:status / pause / resume / toggle / next / prev,在脚本或另一个终端里控制正在播放的桌面版或 TUI,--json 输出方便自动化。
  • TUI 迷你播放条:曲库、搜索、队列页底部常驻——像素封面、歌名歌手、逐字变色歌词、可拖动进度;随终端大小缩放,矮终端自动回退紧凑两行。
  • TUI 私人 FM:f 进入自动续播,x 把当前曲丢进垃圾桶并立即换歌。
  • 离线模式:断网启动直接进曲库、显示上次同步的歌单,缓存过的歌照常播放;只有服务器明确拒绝会话才要求重新扫码。
  • 频谱大升级:dB 对数标度、高频补偿、邻柱平滑、立体声分离、条宽与灵敏度档位、渐变色开关;水面倒影的水线与封面底边对齐。
  • TUI 设置页新增「歌词行数」:auto 或 3–17 行,当前行始终居中,小屏更清爽。
  • TUI 中文输入法开着也能用快捷键:全角 ? , : 等同半角;新增 Ctrl+L 整屏重画,终端焦点回归时也自动重画,复用器丢帧花屏一键恢复。
  • 播放进度条新增 Minecraft 苦力怕皮肤,与彩虹猫、Anon 三选一(感谢 @chairowell)。
  • 歌曲缓存上限档位化(1G–128G,可填自定义数值),桌面版与 TUI 遵守同一份上限;命令面板新增 settings、goto N 直接跳行。

变更

  • 网易云数据请求全面切换到桌面版与 TUI 共用的同一份 Rust 实现(搜索、歌词、播放源、红心、私人 FM、每日推荐、歌单/专辑/歌手/歌曲详情)。日常使用行为不变,加载失败时的报错更明确。

修复

  • 登录态过期现在会自动登出并跳回登录页,不再表现为满屏加载失败;登录 cookie 的轮换也恢复转发,长期挂着不再悄悄掉登录。
  • 网络挂起时页面请求 15 秒后如实报错,不再永远转圈。
  • 快速连切歌不再串封面、不再闪占位图;小尺寸老封面自动上采样铺满封面区。
  • 多碟专辑打开立即按 Disc 分组;超长歌单滚动加载不漏不重;搜索结果、歌单、歌手热歌中单条异常数据不再整页报错。
  • 断网播放缓存歌不再有误删缓存的风险;扫码登录遇网络抖动不再强迫重扫;酒店 Wi-Fi 认证页不再被误判为登录过期。
  • TUI 键位页在窄终端不再截断说明、鼠标移动不再误关;搜索框光标不再叠成两个颜色。
  • 音量可以精确降到 0;设置里的语言改完立即全界面生效。

Full Changelog: v0.8.0...v0.9.0

v0.9.0-canary.7

v0.9.0-canary.7 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Aug 00:26

新增

  • TUI 新增 ypm update:一条命令自我升级,下载后先验签再原子替换;Homebrew 安装会提示改用 brew upgrade。
  • TUI 首页显示当前版本号,有新版时该行改为更新提示。
  • 播放进度条新增 Minecraft 苦力怕皮肤,设置里与彩虹猫、Anon 三选一(感谢 @chairowell)。

修复

  • TUI 键位页在窄终端下说明被截断,现在按内容定宽,放不下的说明换行显示。
  • TUI 键位页此前鼠标一动就关闭,现在只有按键或点击才关。
  • TUI 搜索框光标叠成两个颜色(自绘光标与终端光标重合),去掉自绘的那个。
  • 多碟专辑打开时立即按 Disc 分组,不再先平铺再跳变。
  • 超长歌单滚动加载不再漏掉或重复歌曲。

Full Changelog: v0.9.0-canary.5...v0.9.0-canary.7