Skip to content

v0.3.0

Choose a tag to compare

@wang1025475397 wang1025475397 released this 05 Sep 11:18
· 14 commits to main since this release

v0.3.0

新增

  • 设置菜单(按 START 打开,位于底部)新增两项:
    • 「缩略图缓存」:开关。关闭后不再读写任何缓存文件,封面改为实时缩放(桌面端每图约 5–10 ms,掌机建议保持开启)。
    • 「清空图片缓存」:删除卡上所有 .cache 目录回收空间,完成后提示清理的文件数量。
  • 启动后的后台扫描顺带清理失效缓存条目(封面已更换、旧版本残留),不再永久占用存储。

修复

  • 副屏视频完全无画面(H700):修复固件 fontconfig 软链失效与精简版 libavformat 缺 rawvideo 的问题;启动器启动时自动修复链接,解码器改用干净运行环境。
  • 换封面后仍显示旧缩略图:缓存文件名加入文件修改时间,换图立即生效。
  • 封面透明通道丢失:网格与轮播中的透明 PNG 保持透明。
  • 桌面端封面只占格子中间一小块:等比缩放允许放大,小封面撑满格子。
  • 半截缓存文件导致崩溃:改为原子写入(先写临时文件再改名);清理时文件被占用不再中断绘制。
  • ffprobe 探测挡住首帧:探测移至首帧之后、独立线程执行,不再误判拉黑视频。
  • 音频重试挡住解码线程:音频改在后台线程启动;修复切换游戏时音频泄漏、模拟器启动后继续响的问题。
  • ffmpeg 可用性检测过粗:由 which ffmpeg 改为实际执行版本探测。

外观

  • 网格与轮播改为等比完整显示:封面按自身比例居中取最大尺寸,GBA(方)、FC(横)、MD(纵)封面均完整展示。
  • 去掉网格卡片常驻边框与底板,选中项保留高亮描边;轮播卡片不再有底板。

其他

  • 缩略图编码质量 86 → 80,体积减少约 25%。
  • 解码器出错时,将 ffmpeg 报错原文、实际执行命令、解析到的二进制与 muxer 数量写入 log.txt
  • 文档新增「缩略图缓存」「副屏视频不出画面」两节(中英文)。

v0.3.0

What's New

  • Two new items added to the Settings menu (press START, at the bottom):
    • Thumbnail Cache: toggle. When off, no cache files are read or written; covers are scaled in real time (~5–10 ms per cover on desktop; keep it enabled on handhelds).
    • Clear Image Cache: deletes all .cache directories on the card to reclaim space, and reports how many files were removed.
  • The background scan after startup also cleans up stale cache entries (covers replaced, leftovers from old versions), so unrecognized cache files no longer occupy the card permanently.

Fixes

  • Second-screen video shows no picture at all (H700): caused by two stacked firmware issues — the fontconfig symlink reverting to an old version on every reboot (missing FcWeightFromOpenTypeDouble, so ffmpeg dies with a symbol lookup error), and the private library path supplying a stripped libavformat with only 10 audio muxers and no rawvideo. The launcher now checks and repairs the fontconfig link at startup (only when the symbol is actually missing), and the decoder runs in a clean environment. See USAGE §14.
  • Stale thumbnail after cover replacement: the cache filename now includes the file's modification time, so changes take effect immediately.
  • Transparent channel lost on covers: transparent PNGs stay transparent in the grid and carousel instead of being flattened onto a gray background.
  • Desktop covers only occupied a small area in the middle of the cell: proportional scaling now allows upscaling, so small covers fill the cell.
  • Partial cache file caused a crash: thumbnails are now written atomically (temp file first, then rename); cleanup no longer throws and aborts rendering when a file is locked (common on Windows).
  • ffprobe probe blocked the first frame: probing took ~4.8 s, exceeding the 3 s hang threshold, so videos were permanently blacklisted. The probe now runs in a separate thread after the first frame.
  • Audio retry blocked the decoder thread: audio retries took 0.7 s when the sound card was busy and used to run before decoding. Audio now starts on a background thread; also fixed audio leaking when switching games and continuing to play after the emulator starts.
  • ffmpeg availability check was too coarse: previously only ran which ffmpeg, so a broken binary was relaunched repeatedly. It now actually executes a version probe.

Visual

  • Grid and carousel now display covers in full with aspect ratio preserved: covers are no longer cropped, but scaled to the largest size and centered by their own ratio. Cell size stays the same; square (GBA), landscape (FC) and portrait (MD) covers all display completely.
  • Removed the permanent border and backplate from grid cards; the selected item keeps a highlight outline. Carousel cards no longer have a backplate either.

Other

  • Thumbnail encoding quality 86 → 80, ~25% smaller file size, no visible difference at thumbnail dimensions.
  • When the decoder fails, the raw ffmpeg error message, the actually executed command, the resolved binary and the muxer count are all written to log.txt for self-diagnosis.
  • Docs: added "Thumbnail Cache" and "Second-Screen Video Not Displaying" sections (English/中文).