Skip to content

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 23 Sep 12:12
· 6 commits to master since this release

CAPS v2.0.0

CAPS 2.0.0 is a rewrite of the interface. The island is no longer a page inside a web view: everything is drawn by GPUI, the same toolkit the window is built from, so the build carries no browser engine, no HTML and no CSS.

Added

  • Native interface drawn by GPUI: the capsule, panel, queue, spectrum and lyrics are painted directly, with no DOM in between.
  • Fonts in Settings sets the English and the Chinese typeface separately. Each row shows the face in use; opening it lists every family installed on the machine, with a search box that also matches Chinese names ("雅黑" finds Microsoft YaHei), and every candidate is previewed in its own face. The default pairs Segoe UI with Microsoft YaHei UI, the pairing Windows itself uses.
  • A Han fallback chain for the interface face, so a mixed Chinese/Latin line renders in one consistent typeface instead of dropping to a serifed one, and semibold weights survive.
  • Play-order button in the queue header: play in order, repeat all, repeat one, or shuffle. The choice is remembered between runs.
  • Seek bar along the bottom of the capsule, centred, with a dot that can be dragged to seek.
  • Queue rows put the track length in a right-aligned column of its own, and any text that does not fit scrolls while the pointer rests on it — on the queue rows and on the capsule's title and artist alike.
  • A scrollbar down the side of the queue, and the list follows new tracks to the end, which is where they are appended.
  • Hold Shift and drag the capsule to move it; the position is remembered and restored next time. Right-click the capsule to quit.
  • Reduced motion: with the system setting on, expansion, cover rotation and lyric changes become fades or instant switches.

Changed

  • src/main.rs went from 1505 lines to 79. The interface now lives in src/app.rs, src/components.rs, src/windowing/ and src/motion.rs.
  • The window is shaped by a native region plus hit testing, so clicks fall through wherever the island does not paint, and the right-click-to-quit zone follows the capsule exactly.
  • Every icon is drawn as a path rather than set in type, so icons keep their shape, weight and centring whatever interface font is chosen.
  • One dark token palette for the whole interface, with the album's own colours reserved for the spectrum and the seek bar.
  • Both READMEs rewritten for the native build.

Fixed

  • Holding Shift and dragging the capsule no longer freezes the window.
  • No more jagged edges around the capsule or the panel at scaled island sizes.
  • The panel is no longer clipped while it animates open.
  • Album art in the queue no longer blinks: the cover cache drops the entry that has been off screen longest, instead of an arbitrary one that could still be in view and would then be fetched again.
  • The pause mark is drawn rather than typed: it used to resolve through a fallback font and came out as two hairline serifs.

Removed

  • The Dioxus web-view front end, its 2039-line stylesheet and the bundled demo assets. The only UI dependency left is gpui-kit.

Contributor

CAPS v2.0.0

CAPS 2.0.0 重写了整个界面。音乐岛不再是一个网页视图里的页面:所有内容都由 GPUI 直接绘制,也就是构建窗口用的同一套工具,因此构建产物里不再有浏览器内核、HTML 和 CSS。

新增

  • 由 GPUI 原生绘制界面:胶囊、面板、队列、频谱和歌词全部直接绘制,中间没有 DOM。
  • 设置里的「字体」可以分别指定英文和中文字体:每一行显示当前使用的字体,点进去会列出本机安装的全部字体,搜索框也支持中文名(输入「雅黑」能找到 Microsoft YaHei),每个候选都用它自己的字体预览。默认把 Segoe UI 和 Microsoft YaHei UI 配成一对,也就是 Windows 自己的搭配。
  • 界面字体带中文字体回退链:中英混排的一行会统一用同一套字体,不会再退回衬线字体,半粗字重也能保留下来。
  • 队列标题栏新增播放顺序按钮:顺序播放、列表循环、单曲循环、随机播放,选择会被记住。
  • 胶囊底部新增进度条,居中显示,圆点可以拖动来跳转。
  • 队列每行的时长单独右对齐成一列;放不下的文字在鼠标停留时自动横向滚动——队列行和胶囊上的歌名、歌手都是如此。
  • 队列右侧新增滚动条;新增歌曲始终追加到队列末尾,列表也会跟到新歌出现的位置。
  • 按住 Shift 拖动胶囊即可移动,位置会被记住,下次启动仍在那里;在胶囊上右键可以退出。
  • 支持系统「减少动画」设置:开启后展开、封面旋转和歌词切换改为淡入或直接切换。

调整

  • src/main.rs 从 1505 行降到 79 行;界面改由 src/app.rs、src/components.rs、src/windowing/ 和 src/motion.rs 承担。
  • 窗口改用原生区域加命中测试来成形:岛屿没有绘制的地方点击会穿透,右键退出的范围也与胶囊完全一致。
  • 所有图标改为路径绘制而不是字符,选任何界面字体都不会改变图标的形状、粗细和居中。
  • 整套界面统一使用一套深色色板,只有频谱和进度条使用专辑自己的配色。
  • 两个 README 都按原生版本重写。

修复

  • 按住 Shift 拖动胶囊不再卡住窗口。
  • 缩放岛屿尺寸后,胶囊和面板边缘不再出现锯齿。
  • 面板展开动画过程中不再被裁切。
  • 队列封面不再闪烁:封面缓存现在淘汰最久没有被用到的条目,而不是随便淘汰一个可能还在屏幕上的条目、随后又把它重新下载回来。
  • 暂停图标改为绘制而不是打字,不会再经由回退字体显示成两条细衬线。

移除

  • 移除 Dioxus 网页视图前端、2039 行的样式表和随附的演示素材;现在唯一的界面依赖是 gpui-kit。

贡献者