Skip to content
gi-osPublic

About

XA — a camera for iPhone that is fun to use. Filters, date backs, purikura. iOS port of Roll.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

XA

A camera for iPhone that's fun to use, and serious when you want it to be.

Free, with every feature: no subscription, no ads, no account, nothing collected.

Five cameras

  • DIGI is a 2003 point-and-shoot. 1, 2, 3, 5, 8 or 12 megapixels, cheap processing on purpose (clipped highlights, a sharpening halo, color noise, a JPEG squeezed hard), its whole live screen, and a stack of:
    • a sim: a film simulation, fully editable (color, tone curve, split tone, grain, halation, vignette, its own film box);
    • a look: Clean, Grain, Sixteen, Pocket, Pocket Color, 1-Bit, Press, Heat, Booth;
    • a shape: Capsule, Porthole, Window, Crush, Nova and the instant prints. Outside the shape is empty pixels, saved as a PNG.
  • FILM loads a roll: eleven stocks (eight color, three black and white), the color ones baked with spektrafilm, seen through an XA-style rangefinder finder. 110, half frame, 35mm or 120; flash, light leaks, a mist filter; the lab's auto-correction, color timing and preflash. The default drum scan scans the negative at about 5600 dpi (up to 48 MP, the whole sensor on a 48 MP iPhone), so the grain is resolved into dye clouds when you zoom in.
  • PRO is the iPhone at its best: the biggest photo the sensor makes, quality-first processing, saved as the camera made it (HEIF or JPEG). A lens selector, a live histogram, and a WB · EV · S · ISO · FOCUS strip with a tick dial. Auto, shutter priority, ISO priority or fully manual.
  • VIDEO has twelve tapes: Clean, Pocket, Pocket Color, Pocket 3D, Super 8, VHS, Trails, Motion, Stop Motion, CCTV, Slit-scan and Datamosh.
  • BOOTH is a photo-sticker booth: four shots with a countdown, big eyes, backdrops and a sticker sheet.

Sims

Sim After
XAcolor Nocturne 800T tungsten cinema stock, red halation
XAcolor Visage 800 portrait pro stock
XAcolor Prima X 400 green-box consumer 400
XAcolor Amethyst 400 the purple cast
XA Instant Sunday 600 instant film, printed on a white frame
XA Instant Sunday Round the round instant
XApan Onyx 3200 high-contrast black and white

Long-press a sim to edit it. Edits to a preset save as a film of your own. Save in the film picker turns the current sim + look + shape into a new sim.

Date backs

Quartz is seven mitred segments, Dots is 5×7 round lamps that lean as a staircase, and Camcorder is a keylined condensed face. Plus LCD, Stamp, Marker (on white tape), Edge and Digicam. In the corner or following the frame, around the Porthole and up the side of Crush. The instant sims write the date by hand on the print instead.

The camera button

XA ships a Lock Screen camera and a Control Center control. Add the XA control to Control Center or the Lock Screen (touch and hold the Lock Screen, Customize) to open it while locked. On an iPhone with Camera Control, XA can also be the button's camera: Settings › Camera › Camera Control › Launch Camera › XA. The Lock Screen camera takes its settings from the app through the capture intent, and offers DIGI, FILM and PRO (PRO saves up to 12 MP).

Controls

  • Swipe up from the shutter row (or tap the roll button) for the roll; drag it down to go back.
  • Camera Control: DIGI slides through sims and looks, FILM through stocks, VIDEO through tapes, PRO through exposure and zoom. Click to shoot.
  • Volume buttons shoot too.

Build

brew install xcodegen
xcodegen generate
open XA.xcodeproj

CI: check.yml builds and tests every branch unsigned. A push to main runs build.yml, which signs with fastlane match (gi-os/ios-certs) and uploads to TestFlight. release.yml (run by hand) uploads the App Store text in fastlane/metadata, the screenshots in fastlane/screenshots/en-US and the App Review details; ticking submit sends the newest build to App Review. The support and privacy pages are docs/, served at https://gi-os.github.io/XA/.

Screenshots: tools/screenshots/capture.py runs a debug build in the simulator on still photos (the simulator has no camera; the demo feed sends them through the real viewfinder and develop), and frame.py adds the headline and the phone. Swap in your own photos and run them again.

Fonts are bundled open-license faces from Google Fonts (SIL OFL 1.1; Apache 2.0 for Roboto Condensed, Yellowtail and Permanent Marker).

License

XA is free software: the GNU General Public License version 3 (LICENSE), with an additional permission for the App Store and TestFlight (EXCEPTION.md). The film tables in XA/Resources/Stocks are CC BY-SA 4.0 (the color ones are generated from spektrafilm). Credits, font licenses and the spektrafilm notice are in NOTICE.md.

About

XA — a camera for iPhone that is fun to use. Filters, date backs, purikura. iOS port of Roll.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages