Commit Graph
8 Commits
Author SHA1 Message Date
ninoandClaude Opus 5.5 64a240b082 Viewer: save to Vita, turn with L/R; album name order, cover shape setting
- Inside an album, SELECT cycles newest / oldest / file name A-Z / Z-A
  (natural, case-insensitive; name orders drop the month headers and
  L/R jump by initial letter). Asset originalFileName is now parsed.
- Full-screen viewer: Triangle or the "Save to Vita" button downloads
  the original (falling back to Immich's full-size / preview JPEG) and
  exports it to the Photos app via ScePhotoExport (new src/export.c).
  The video downloader is now a generic download_to_file().
- R / L turn the whole viewer 90 degrees clockwise / counter-clockwise
  so the Vita can be held upright (new src/viewrot.c): it renders into
  a portrait render target drawn rotated, and maps d-pad, sticks and
  touch into the turned screen. Zoom moves to the right stick only.
  SCREEN_W/H are now variables for that logical screen.
- Server & Backup page: album cover shape setting (vertical 3:4,
  square, panoramic 16:9), saved as covershape= in config.txt.
- Test builds: "rup" holds the right stick up in test_input.txt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 13:08:11 -06:00
ninoandClaude Opus 5.5 c296ff5ade Albums: name search and sort by name / modification date
The album grid now shows a filtered + sorted view of the list:
- SQUARE (or tap the header pill) opens the keyboard to filter albums
  by name (case-insensitive); O clears the filter before going back.
- SELECT (or tap the chip) cycles the order: modified newest/oldest,
  name A-Z/Z-A. Uses the album's updatedAt from GET /api/albums.
- Cover eviction no longer drops a texture that a visible card still
  uses when two albums share the same cover photo.
- README: albums controls.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 17:25:42 -06:00
SadsandClaude Opus 4.8 f4cf235c40 docs: flashier README with screenshots
Restyle the README: centered hero header, a screenshot row (timeline,
Places map, server/backup), and an emoji feature list. Refresh the feature
set and controls for what shipped since (smart search, the Places map +
cluster gallery, analog-stick map control) and link the releases page.
Screenshots live in docs/.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uKJQMYDE9Nrq9ECsU3MxH
2026-06-18 23:31:06 +02:00
Sads 9713595def Extract poster frames from local camera videos 2026-06-12 14:44:17 +02:00
Sads f09f0d0757 Add camera media sync with upload support 2026-06-12 13:18:52 +02:00
Sads ea759255da Downloads and plays MP4 videos using the Vita's GPU decoder. Shows
progress on download, supports pause/resume and seeking during playback.
  Videos are deleted after viewing.
2026-06-12 12:07:54 +02:00
SadsandClaude Fable 5 bb137f2da9 Add serverip= config option to pin the domain to a LAN IP
The "unsupported protocol" failure was never about HTTPS: the Vita
resolved the public domain to the WAN IP, the router (no NAT loopback)
answered with its own admin page, and curl reported the resulting
HTTP/0.9 garbage as CURLE_UNSUPPORTED_PROTOCOL. serverip= pins the
hostname to the LAN IP via CURLOPT_RESOLVE, keeping Host/SNI intact
for the reverse proxy.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 00:07:08 +02:00
SadsandClaude Fable 5 b7ac3768a8 Initial commit: Immich client PoC for PS Vita
Scrollable chronological photo grid with full-screen viewer, fetching
previews from an Immich server via its REST API. Thumbnails stream in
on a background thread over a keep-alive connection. JPEG decoding is
done with libjpeg directly (vita2d's loader rejects Immich's
APP2-first JPEGs). JSON parsed with vendored jsmn (the vitasdk jansson
package is built as PIC, which vita-elf-create can't handle).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 23:34:27 +02:00