Repository navigation
Releases: CheerChen/navidrome-stage-webos
Release list
v0.8.4
0.8.4 更新登录流程、低彩度封面取色与歌词分词。
主要改进
- 登录页分为服务器与凭据两步。先通过不携带凭据的
/rest/ping检测地址,确认可达且提供 Subsonic 响应后再输入账号密码;裸 IP/主机名默认补全http://和端口4533,探测超时为 8 秒。 - 低彩度封面继续从真实封面生成配色:按顺序识别小面积彩色元素、整体色偏或中性银灰;只有缺少或无法读取封面时才使用静态回退。
- 老电视缺少
Intl.Segmenter时,英文歌词按词切分,CJK 文字按字符切分;日文短语末尾的单字块会并入前一短语,按字数比例分配的计时不变。 - webOS 平台层、IPK 打包流程和 CDP 调试工具统一使用共享的
webos-tv-kit子模块,并增加明确的载荷清单与体积检查。 - README 预览图已更新为来自 LG webOS 实机的 WebP 截图,中英文说明同步更新。
完整改动见 CHANGELOG.md。
安装
下载下方 IPK。开发者模式电视使用 LG ares-install 安装;已 root 的电视按照 README 中的 opkg 流程安装。首次安装或 appinfo.json 更新后需要重启电视。
已通过 npm run check,并在 LG OLED42C2PCA(webOS 10.3.1)上完成 CDP 热更新与运行验证。
sha256 132cd1957c5b4d7140f8f988c811ccd97008648ca4fdde4fac7fcf56928ce99c
0.8.4 updates server discovery, low-chroma cover palettes, and lyric segmentation.
Highlights
- Sign-in is now a two-step flow. A credential-free
/rest/pingprobe must find a reachable Subsonic response before the credentials step appears; bare hosts and IPs default tohttp://and port4533, and the probe times out after eight seconds. - Low-chroma artwork remains cover-derived: the palette selects a concentrated colour accent, a coherent colour cast, or a neutral silver treatment in order. The static fallback is reserved for missing or unreadable artwork.
- On TVs without
Intl.Segmenter, English lyrics stay grouped by word while CJK text is split character by character. A trailing one-character Japanese phrase joins the preceding phrase without changing proportional karaoke timing. - Platform glue, IPK packaging and CDP debugging now use the shared
webos-tv-kitsubmodule, with an explicit payload list and size gate. - The README gallery now uses WebP screenshots captured from the LG webOS device, and the Chinese and English documentation are kept in sync.
See CHANGELOG.md for the full list.
Install
Download the IPK below. On a TV in developer mode, install it with LG's ares-install; on a rooted TV, follow the opkg path in the README. Reboot after the first install or an appinfo.json update.
Verified with npm run check, a CDP hot update, and runtime checks on an LG OLED42C2PCA running webOS 10.3.1.
sha256 132cd1957c5b4d7140f8f988c811ccd97008648ca4fdde4fac7fcf56928ce99c
v0.8.3
0.8.3 是封面配色、遥控器操作与播放队列更新。
主要改进
- 每首歌曲会从真实封面生成完整调色板,包括背景、正文、高亮、辅助色与环境色。灰阶封面使用中性回退;快速切歌不会让旧封面覆盖当前配色。
- 遥控器红、绿、黄、蓝键可临时锁定当前歌曲的配色,切歌后自动恢复封面取色。
- 按
↑或↓打开右侧播放队列。侧栏显示当前歌曲与后续歌曲,最多 10 首,包含封面、标题与艺术家;移动选中项时不重建图片 DOM。 - 按
0打开居中的运行信息面板。方向键和OK会留在面板内,可选择舞台、查看完整遥控器说明或退出登录。 - 播放、暂停、快进和快退遥控器按键现在执行对应的媒体操作;
←、→短按切歌,长按定位。 - 歌词时间轴、Fume、音频频段分析与 webOS 平台逻辑已拆分为独立 ES5 模块,并新增歌词、舞台、音频频段与 Luna 行为测试。
- Classic 在只有一条首屏或回退提示时不再重复显示相同邻句。
完整改动见 CHANGELOG.md。
安装
下载下方 IPK。开发者模式电视使用 LG ares-install 安装;已 root 的电视按照 README 中的 opkg 流程安装。首次安装或 appinfo.json 更新后需要重启电视。
已在运行 webOS 10.3.1 的 LG OLED42C2PCA 上完成完整重装与播放验证。
sha256 8e29c49e7d601954712c3853184ca471cf84aa4fe10017c214cc5f95d7851776
0.8.3 updates cover-driven colour, remote interaction, and the playback queue.
Highlights
- Every track now generates a complete palette from its actual cover: background, primary text, accent, secondary, and ambient colour. Grayscale covers use a neutral fallback, and stale sampling results cannot recolour a newly selected track.
- The remote's red, green, yellow, and blue keys temporarily lock a matching palette for the current track. The next track returns to automatic cover sampling.
- Press
↑or↓to open the sliding Up Next sidebar. It shows the current track and up to nine following tracks with cover, title, and artist; moving the selection no longer rebuilds image DOM. - Press
0for a centred runtime panel. D-pad navigation andOKstay inside the panel for stage selection, the complete remote guide, and sign-out. - Play, Pause, Fast-forward, and Rewind now perform their matching media actions. A short
←or→changes track; holding it seeks. - Lyric timing, Fume, audio-band analysis, and webOS platform glue now live in independent ES5 modules, backed by focused lyric, mode, audio-band, and Luna tests.
- Classic no longer repeats the same neighbour text when the idle or fallback fixture contains only one line.
See CHANGELOG.md for the full list.
Install
Download the IPK below. On a TV in developer mode, install it with LG's ares-install; on a rooted TV, follow the opkg path in the README. Reboot after the first install or an appinfo.json update.
Verified with a full reinstall and playback test on an LG OLED42C2PCA running webOS 10.3.1.
sha256 8e29c49e7d601954712c3853184ca471cf84aa4fe10017c214cc5f95d7851776
v0.8.1
排版字体版本。这是 0.7.0 之后首个带标签的构建,包含 0.8.0 和 0.8.1 的全部改动。
歌词舞台终于使用了设计时预期的字体。 webOS 不附带 CJK 衬线字体:电视上所有支持 CJK 的字体都是同一种单字重界面黑体,通用 serif 字体族也会直接回退到它。因此,舞台原本设计使用的衬线字体此前从未在电视上真正呈现。简体中文会显示成繁体字形,日语句子会在中途切换字体,font-weight 也完全不起作用。
主要改进
- 应用内置 Noto Serif SC 和 JP 可变字体,遵循 OFL。舞台根据歌词语言选择字体,而不是界面语言;中文界面播放日语歌曲时,仍会使用正确的日语汉字字形。
- 已唱、当前和未唱单词除了颜色以外,也会用不同字重区分。电视自带字体只有一个字重,此前无法实现这一效果。
- 拉丁字母歌词改为按单词而不是按字母切分,恢复正常字距,也不会再从单词中间换行。
- 随机队列会在即将播放完时补充歌曲,不再重复循环登录时获取的同一批 20 首歌曲。
- 播放歌曲时不再触发屏幕保护程序。早期版本使用了服务不会读取的响应字段,拒绝请求会被无错误地丢弃,因此保护逻辑实际上从未生效。
完整改动见 CHANGELOG.md。
安装包体积说明
IPK 从 360 KB 增加到 15 MB。两个可变字体文件占安装内容的 15.8 MB。电视加载字体约需半秒,未测得明显的内存增加;体积变化只影响下载和安装。
屏幕保护修复说明
通过 opkg 侧载时,应用不会自动注册到 Luna 总线。在完成注册前,屏幕保护请求不会送达应用,因此无论是否包含本次修复,保护逻辑都无法工作。该注册属于应用外部的安装步骤。
安装
下载下方 IPK。开发者模式电视使用 LG ares-install 安装;已 root 的电视按照 README 中的 opkg 流程安装。
已在运行 webOS 10.3.1 的 LG OLED42C2PCA 上验证。
sha256 a446ab9725a68c8d5ab4a0fe891a01611b28af56380cd8dad044fd6ebeff4e72
Typography release. This is the first tagged build since 0.7.0 and carries both
0.8.0 and 0.8.1.
The lyric stage is finally set in the typeface it was designed for. webOS
ships no CJK serif at all — every CJK-capable font on the TV is the same
single-weight UI grotesque, and the generic serif family resolves straight to
it — so the serif the stage was built around had never actually rendered on a
TV. Simplified Chinese was being drawn with traditional glyph shapes, Japanese
lines were split across two typefaces mid-sentence, and font-weight did
nothing at all.
Highlights
- Noto Serif SC and JP (OFL, variable) ship with the app. The stage follows the
language of the lyrics, not the interface, so a Chinese UI playing a
Japanese track still gets Japanese kanji forms. - Past, current and upcoming words are separated by weight as well as colour —
impossible before, because the TV's own fonts have exactly one weight. - Latin lyrics break on words instead of letters. Kerning is back and a line no
longer wraps in the middle of a word. - The random queue keeps going. It used to be fetched once, so the same twenty
songs looped until sign-out. - The screensaver no longer drops over a playing song. The guard shipped in
earlier versions had in fact never worked: it answered the TV with a field the
service does not read, so the refusal was discarded without an error.
Full list in CHANGELOG.md.
A note on size
The IPK is 15 MB, up from 360 KB. The two variable font files are 15.8 MB of the
payload. Loading them costs about half a second on the TV and no measurable
memory; the size is entirely a download and install-time cost.
A note on the screensaver fix
On a TV where this app was sideloaded with opkg, the app is not registered on
the Luna bus, and until it is, no screensaver request reaches it and the guard
cannot work regardless of this fix. That is an install-time step outside the
app.
Install
Download the IPK below. On a TV in developer mode, install it with LG's
ares-install; on a rooted TV, follow the opkg path in the
README.
Verified on an LG OLED42C2PCA running webOS 10.3.1.
sha256 a446ab9725a68c8d5ab4a0fe891a01611b28af56380cd8dad044fd6ebeff4e72
v0.7.0
首次公开发布。
这是面向 LG webOS 电视的全屏歌词播放器:连接自建的 Navidrome 服务器,播放随机队列,并通过九种可视化舞台渲染同步歌词。视觉概念来自 Folia,并针对电视 WebView 使用 DOM 和 2D Canvas 重新实现,不依赖 WebGL。项目因此沿用 Folia 的 AGPL-3.0 许可证。
0.7.0 主要改进
- 新增英文和简体中文双语界面,可跟随电视语言,也可在登录页面手动切换
- 采用 AGPL-3.0,并在源代码和 README 中说明 Folia 的来源
- 登录页面不再预填服务器地址,使用遥控器编辑更加方便
- 修复应用图标透明圆角,电视启动器中不再出现四个白色三角
更早版本的改动记录见 CHANGELOG.md。
安装
下载下方 IPK。开发者模式电视使用 LG ares-install 安装;已 root 的电视按照 README 中的 opkg 流程安装。
已在运行 webOS 10.3.1 的 LG OLED42C2PCA 上验证。
sha256 f3a413f3b36771c89f7802c37ea0e8cc74211b0aabfa7d3f3422fb4cc69cf053
First public release.
A full-screen lyric player for LG webOS TVs: it connects to your own Navidrome
server, plays a random queue, and renders word-synced lyrics through nine
visualizer stages. The visual concepts come from
Folia and are reimplemented for
a TV webview — DOM and 2D canvas, no WebGL — so this project inherits Folia's
AGPL-3.0 licence.
Highlights in 0.7.0
- Bilingual interface, English and Simplified Chinese, following the TV's own
language and switchable from the sign-in screen - Adopted AGPL-3.0 with the Folia provenance stated in the source and README
- The login server field is no longer prefilled, which makes it far easier to
edit with a remote - Icons render with transparent corners again, instead of four white triangles
in the TV launcher
Earlier versions are reconstructed in CHANGELOG.md.
Install
Download the IPK below. On a TV in developer mode, install it with LG's
ares-install; on a rooted TV, follow the opkg path in the
README.
Verified on an LG OLED42C2PCA running webOS 10.3.1.
sha256 f3a413f3b36771c89f7802c37ea0e8cc74211b0aabfa7d3f3422fb4cc69cf053