Skip to content

Releases: lilcandi/dsh-music-on

0.2.1

Choose a tag to compare

@lilcandi lilcandi released this 23 Oct 17:47

0.2.1

一次只改文案的补丁版:把随包分发的商店条目对齐到审核后的措辞。代码路径未动。

为什么会有这一版

0.2.0 的 tag 打在 6551308 上,而 docs/marketplace-entry.yml 的措辞修正发生在 tag 之后(远端 e2a4a66,本地 968f61c)。结果是:插件市场里展示的条目已经是改好的版本,但 npm pack 出来的包里那个文件仍写着三句代码做不到的话 ——

  • 「本地文件在重开后可以恢复」:ShellDock.js 把本地曲目标成 missing: true,restore() 的两遍循环都会跳过它。Blob 地址刷新后就是死地址,本地文件从来没有被恢复过。
  • 「逐曲封面」未加限定:本地文件不走解析,sources.js 不产出 cover,落的是黑胶占位。现在写明「仅解析出的链接曲目」。
  • 「整排在任意窗口宽度下精确铺满」偏绝对:Spectrum.jsx 在间隙被压到 DOT_GAP_FLOOR 以下时会如实略微溢出,这是刻意的(不重叠优先)。现在把这条边界一并写出。

一个包的元数据与它的实际行为不一致,就是 0.2.0 的真缺陷 —— 只是它不在运行时代码里,所以现有 537 项测试一条都不会失败。这一版补上。

同时做的

  • 版本号 version 与 dsh.version 两处 0.2.0 → 0.2.1
  • 新增 docs/release-0.2.1-notes.md 即本文件(不进 npm 包,files 逐条列举)

校验

npm pack 后解包比对:

  • src/ 下 20 个 .js/.jsx 与工作区逐字节一致
  • presets/ 不存在
  • 包内 docs/marketplace-entry.yml 含「半像素」与「本地文件用黑胶占位」,不含「重开」
  • package.json 两处版本号均为 0.2.1

升级:dsh plugin --profile web add github:lilcandi/dsh-music-on,或换成新的 tarball 地址(资产名刻意不带版本号,latest/download/dsh-music-on.tgz 会一直解析到最新一版)。

dsh-music-on 0.2.0

Choose a tag to compare

@lilcandi lilcandi released this 19 Oct 16:46

0.2.0

底部频谱、配色主题与设置页在这一版重做,同时把「音景」功能区整块移除。

频谱

之前无论窗口多宽,频谱最多只铺到 286px:柱宽被夹在 [2,4]、缝被夹在 [1.5,2],pitch 上限 6px,48 根柱就此封顶。现在宽度由剩余空间反解 —— gap = (w - barW * n) / (n - 1) —— 整排在任意尺寸下都精确等于容器宽度。1440px × 48 柱实测柱宽 15.00px、缝 15.32px、整排 1440.0px。

  • 柱数上限 96 → 160
  • 新增频谱宽度设置(占窗口宽度 20–100%,按 5 对齐)
  • 样式扩到七种:圆点、粗柱、方块阵列、对称声波、折线、时域波形、关闭。blocks 与 mirror 是本版真实绘制的新画法,不是选项名

主题

七套配色:鲸鱼蓝白(默认)、极光青紫、薄荷绿、落日橙、玫瑰粉、霓虹赛博、极简灰白。

它们此前视觉上完全相同,原因是不在调色板而在权重:主题块写成了 :where([data-dmo-theme='x']),:where() 把选择器权重归零,而默认令牌块是 (0,1,0),主题块永远赢不了。改用真选择器后七套才真正区分开,60 余处硬编码颜色也收敛成 rgba(var(--dmo-rgb), α) 三元组,半透明的线、光晕、玻璃一并跟着主题走。

移除

「音景」是从界面到落盘整链摘掉的,不只是把入口藏起来:控制器、IndexedDB 缓存、静态资源路由、面板分区、七条随包分发的 WAV 全部移除。宿主 inject 从 ['connection', 'webServer'] 收窄为 ['connection'],HTTP 路由从三条减到两条。

修复

设置分区的说明文字原先直接落在宿主半透明面板上,#5a6c92 的 11.5px 小字对比度只有 2.0:1,几乎看不见。现在分区自带玻璃底,并加了断言把对比度钉住。

商店截图

截图脚本改为先真拖入一段音频再拍:页内现场合成 24 秒 WAV 交给插件,等自动播放与频谱跑起来。所以一次干净的运行同时就是「拖入即播」的端到端验证 —— 链路断了,频谱那张会拍成一条平底噪。

dsh-music-on 0.1.3

Choose a tag to compare

@lilcandi lilcandi released this 18 Oct 18:37

Bottom-right music dock for the DSH web GUI: draggable capsule, player card with a queue
and a draggable progress bar, volume knob, per-track covers, drag-and-drop local audio,
Bilibili / NetEase Cloud Music / QQ Music playlists (their audio reaches the browser as an
opaque HMAC token, never a plain CDN URL), a live blue-white spectrum, and seven bundled
CC0 soundscapes.

Install:

dsh plugin --profile web add github:lilcandi/dsh-music-on

Or from the tarball below.

dsh-music-on 0.1.1

Choose a tag to compare

@lilcandi lilcandi released this 18 Oct 17:59

Adds the soundscape row: seven bundled CC0 WAVs (white noise, rain, cafe, beat loop, jazz piano, lo-fi, late-night bar) are now playable straight from the card, each looping seamlessly. 0.1.0 shipped the WAVs but no way to reach them.

Install:

dash plugin --profile web add github:lilcandi/dsh-music-on

Or grab the prebuilt tarball below (no build step, no �llowBuilds approval).

0.1.0

Choose a tag to compare

@lilcandi lilcandi released this 18 Oct 17:25

First release of dsh-music-on.

A music dock for the DSH web GUI: a draggable capsule in the bottom-right corner
opens into a player card with queue, progress bar, volume knob, three loop modes
and drag-and-drop local audio. Bilibili, NetEase Cloud Music and QQ Music
playlist and track links are resolved by the host; NetEase and QQ audio reaches
the browser as an opaque HMAC token instead of a plain URL. A spectrum canvas on
the page bottom draws from a real AnalyserNode. Seven CC0 soundscapes ship in the
package.

Install into a dsh profile:

dsh plugin --profile web add github:lilcandi/dsh-music-on