7 Commits

Author SHA1 Message Date
e3a2bca794 Add --debug flag for diagnosing controller input on handheld
Logs joystick enumeration at startup (name, GameController status, GUID)
and all SDL input events in the main loop to help diagnose why the retro
handheld's d-pad/buttons aren't recognized by the GameController API.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 16:08:13 +01:00
3ba7b31148 Add volume control and d-pad/keyboard navigation
Replace mouse input with cursor-based navigation (arrow keys / d-pad +
Enter / A button) and add app-level volume control with a persistent
vertical slider, enabling use on a handheld gaming device without mouse
or system mixer access.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 09:06:00 +01:00
9db8dfdd48 Implement streaming decoder, seeking, persistence, file switching, album art
Replace fire-and-forget decode_audio() with a streaming Decoder that uses
libswresample to convert planar float to interleaved stereo, fixing the
sped-up audio bug and eliminating multi-GB memory usage for long files.

Add 10-second rewind/fast-forward, stop (pause in place), position
persistence per file via positions.txt, directory scanning with file
switching, embedded album art display, and a progress bar. Handles both
old and new FFmpeg channel layout APIs via version preprocessor check.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 20:41:40 +01:00
f367e1f9a0 Use older struct member for older libav version 2026-01-28 14:21:51 +01:00
a80bd0c480 Semi working version 2026-01-28 13:37:34 +01:00
333ab8f82d WIP: controls 2026-01-16 17:58:00 +01:00
c1deafb7dd Initial commit 2026-01-14 23:06:37 +01:00