Repository navigation
Releases: nagi-studio/Yokaze
Release list
v0.13.0
新增
- 改名 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
新增
- Windows 上可以把小播放条收进任务栏,变成一条任务栏歌词。把小播放条拖到任务栏附近松手,它会飞进任务栏的空位,显示封面、当前歌词和播放控件;点条上的按钮可以恢复成悬浮播放器。全屏玩游戏或看视频时会自动藏起来,退出全屏后恢复。不想要可以在设置里关掉「允许吸附到任务栏」。
- Windows 上可以一键登录 QQ 音乐。在官方登录页登录后,QQ 音源需要的 cookie 会自动填好,不用再手动复制。
- 竖屏窗口的歌词页可以把播放控件放到底部。在设置里改「竖屏时播放控件的位置」,默认仍在上方。
- Windows 上小播放条展开成播放队列时有过渡动画,可以在设置里用「窗口过渡动画」关掉。
修复
- QQ 音源解灰一直取不到能播的地址。现在按正确格式请求;失败时日志会写明原因。注意 QQ 只给已登录、且从中国大陆网络发出的请求返回播放地址。
- 竖着的窄高窗口里,歌词页不显示封面和播放控件,没有歌词的歌只剩一片背景。
- 歌词页的空白处拖不动窗口。封面周围、控件之间和歌词区的空白处现在都能拖动窗口,歌词照样能点、能滚。
- 把小播放条展开到较窄的窗口时,播放队列会被歌词页盖住。
- 小播放条的歌词可能被撑成一个巨大的「纯」字,现在字号会跟着播放条的大小缩放。
- 更新或回退版本后,页面偶尔白屏。
- Windows 任务栏歌词上偶尔多出一条横线残影,在托盘右键或切歌后出现。
感谢 @M1gr4ine 贡献了任务栏歌词、QQ 音乐一键登录和播放条动画。
Full Changelog: v0.11.1...v0.12.0
v0.11.1
修复
- 外部音乐条可能显示正在播放和跳动频谱,但实际没有声音。 播放状态现在只会在当前音频真正开始后发布;播放失败可以重试,拖动失败也不会中断当前播放。
- 同时启动多个 ypm TUI 时,后启动的实例可能接入错误的控制端。 检测到已有活动实例后会直接提示并退出,残留的旧连接仍可自动恢复。
- 使用 HTTPS 上游代理时,证书校验可能采用错误主机名。 现在会按代理服务器主机名校验证书。
Full Changelog: v0.11.0...v0.11.1
v0.11.0
新增
- ypm 可以把封面和播放位置交给外部 TUI 了。状态接口会返回经过清理的网易云小图地址和当前歌曲是否可跳转,
ypm seek只在播放器真正就绪后执行,加载中、换曲或播放失败时都会拒绝误操作。 - 新增实时频谱流。外部客户端可以按 1 到 20 FPS 订阅固定 32 段的频谱数据;没有订阅者时不会持续做 FFT,慢客户端也不会拖住播放器。
修复
- 暂停播放或默认关闭频谱时,外部客户端第一次连接可能一直收不到数据。订阅变化现在会立即唤醒播放器,即使没有按键或播放事件也能拿到第一帧。
- 设置页底部播放条比资料库、搜索和队列页窄。宽屏下统一使用相同宽度,不再切到设置页就缩进去一截。
- 设置页会把“播放中 · flac”误当成设置反馈。设置操作改用页面自己的提示状态,播放信息不会再串进保存和取消区域。
Full Changelog: v0.10.0...v0.11.0
v0.10.0
新增
- 启动动画整个重做了。默认是新的「音符拼图」:音符从下方升起,把 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
新增
- 启动时会播一段像素 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
新增
- 安装包有 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
新增
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
新增
- 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
新增
- 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