London in person: Fixed-Price Project: Native Canon Camera Control for OrbControl
Enregistrez cette offre et organisez votre recherche
Créez un compte gratuit pour enregistrer des offres d'emploi, créer des alertes et revenir à cette liste depuis votre tableau de bord.
En continuant, vous acceptez nos Conditions d’utilisation & Politique de confidentialité.
We need an experienced macOS developer to finish native Canon camera control in OrbControl, our Swift capture app. It replaces Canon's CameraControl app and our legacy capture software. The work is a fixed price, delivered in three milestones over about 6 weeks, on site at our Paris office. Testing happens on the ORB hardware, so remote work is not possible.ORB360 (part of The ORDRE Group) shoots fashion and luxury products on motorised turntables. Canon cameras capture 72 frames per spin, and each look is uploaded to our DAM.
OrbControl (Swift, SwiftUI) is already in daily use in our Studio and is reliable:
- Turntable control and DAM upload are finished.
- It shoots 360, 2D and video.
- Today it still relies on separate software for the camera and live view.
Our previous developer had started a native camera layer on Canon's EDSDK in a separate Swift project, OrbCapture, but left before finishing it. This project completes that layer and brings it into OrbControl. That retires both Canon's CameraControl app and our older capture app, orb-v2. The old setup's known problems (\"no live view\", where the workaround is a test shot, and unreliable start-up) come from that camera link.
Scope and deliverables
The work is in OrbControl, with OrbCapture as the starting point for the camera layer.
Milestone 1: native Canon camera layer
- Current SDK: move OrbCapture's EDSDK code to the current Canon SDK (13.20.x, supports macOS 14-26) and merge it into OrbControl.
- Camera session: open it, show live view inside OrbControl, set the key settings, and capture and download each frame.
- One SDK thread: run all SDK calls on a single thread with a regular event pump, so a 72-frame burst never stalls.
- Clean connection: release the camera from macOS's own camera service (ptpcamerad) before connecting, recover from a USB drop without losing frames, and never format the card automatically.
Milestone 2: shoot flow and start-up
- Shoot modes: connect the camera layer to OrbControl's existing 360, 2D and video modes, with each turntable step and shot in sync.
- Start-up checklist: a screen showing camera, live view, turntable and DAM status, each with a Retry button, plus a log file for support.
- Local record: store each look's frames and upload state locally in SQLite, so nothing is lost if the Mac shuts down and the upload can resume.
Milestone 3: rollout
- Build pipeline: a GitHub Actions build, signed and notarised, with Studio and Mobile variants.
- Parallel run: one week alongside the current setup in the Paris studio, plus a short operator guide.
- Retire the old setup: remove Canon's CameraControl app and orb-v2 from the ORB Macs.
Each milestone is delivered as pull requests to our GitHub repos, with a short change note and updated build instructions.