⚠ Work in Progress — research & tooling phase, not a shipped app yet
Fuji Recipes
A macOS/iOS app, still in early research, for browsing Fujifilm film-simulation recipes and eventually writing them straight to an X100VI or other X-Trans V camera over USB — currently a protocol-research phase plus a working recipe scraper and viewer, with on-camera writes not yet proven.
Research phase, WIP
Status
80 (77 parsed clean)
Recipes scraped
Not yet
Camera writes proven
Fuji Recipes is a work in progress, not a shipped app yet. The goal is a native macOS/iOS tool that lets a Fujifilm shooter browse film-simulation recipes and load them directly onto an X100VI (or other X-Trans V body) over USB-C, instead of re-typing a dozen settings by hand every time they want to switch looks. So far the work has been entirely research and tooling: mapping Fujifilm's PTP vendor protocol and the exact public iOS/macOS API path to talk to it, and building a private scraper and viewer for a real recipe library to design the app's data model against. The single biggest open question — whether a camera's C1–C7 custom slots can actually be written over PTP, and how — is deliberately unanswered until it can be tested safely against a real camera, in stages, rather than guessed at.
Highlights
- Work in progress: no SwiftUI app exists yet and no camera write has been attempted — this is a research and tooling phase, documented as such rather than presented as finished
- Mapped Fujifilm's PTP vendor-extension protocol (vendor ID 0x0000000E) from public libgphoto2 data — identified the recipe-relevant device properties (film simulation, dynamic range, white balance tune, highlight/shadow tone, grain effect, custom setting) and their PTP property codes
- Identified the exact App Store-safe API path before writing any app code: iOS/macOS's public ImageCaptureCore framework (ICCameraDevice.requestSendPTPCommand, ptpEventHandler) can send raw PTP commands without needing private or undocumented APIs
- Built a working scraper that pulled Fuji X Weekly's full X-Trans V recipe index — 80 recipe pages, 77 parsed cleanly into structured JSON/CSV, 3 flagged for manual review as multi-recipe pages rather than silently mis-parsed
- Built a local dark-mode static viewer for browsing the scraped recipe library before any native app exists, to validate the data model against real recipes first
- Wrote a phased, safety-first test plan for the biggest unknown — discovery, then safe reads, then manually observing C1–C7 slot behavior, then reversible test writes — explicitly to avoid destructive writes to a real camera before the protocol is proven
- Treated scraped third-party recipe content as private/personal-use only pending permission from the source, rather than assuming it's free to redistribute
Architecture & Infrastructure
PTP command layer over a public framework
The plan uses ImageCaptureCore's requestSendPTPCommand with hand-packed, little-endian PTP command containers (operation code, transaction ID, up to five parameters) rather than any private USB API — a deliberate constraint to keep the eventual app App Store-eligible.
Recipe data kept raw until a separate mapping layer
Scraped settings are stored as their original strings first (e.g. ‘Auto, +1 Red & -2 Blue’) rather than immediately converted to camera values, so an unusual or ambiguous setting isn't silently lost — numeric/PTP-property conversion is planned as its own explicit import step.
Safety-first camera validation plan
A five-phase test plan — safe discovery, safe reads, manual C1–C7 slot observation, reversible test writes, then slot-commit research — exists specifically so no step touches a real camera's custom slots destructively before its behavior is actually understood.