You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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/中文).