Moments
macOS / Photo et vidéo
Capture the moment. You can be that moment. Let family, friends, and guests take pictures in the digital PhotoBooth, or studio. Pictures can be played back nearly live locally or remotely.
Requirements
● Mac (well duh)
● Either iPhones (yes - one or many) running Moments Camera (available from the iOS AppStore) or a modern Digital camera connected by USB to the Mac - Known to work with Canon 650D and higher
● Remote picture trigger requires alternative input (USB button input) and use of 3rd party software such as USB Overdrive or Joystick Mapper
● Optional: AppleTV on the same LAN as the Mac for Airplay and use of 2nd remote monitor, with switch or wireless router
● Optional: Dual monitors on the Mac - you can dedicate the 2nd one to picture display
● Optional: USB (iSight compatable) camera so guests can see themselves before taking pictures
● Optional: PreRoll Countdown, Flash, and PostRoll movies - if you wish to change the existing ones
● Optional: Fancy secure box to hold the Mac, Camera, and other accessories to bring this all together in a turn-key solution
OK, so what is really going on here?
Once upon a time there were things called PhotoBooth's in various public locations. You could go into the photobooth, close the curtain, pay your money and the booth would take a series of pictures. Then you'd wait for those pictures to be processed and collect your little strip of 4 or so pictures.
Lets roll this idea forward a few decades... and step up what is possible.
This photo studio is based on the photobooth using the latest of technology to deliver "realtime" photos to the guests. At a wedding you can capture moments that your guests create and have them displayed on a big screen TV, over Airplay, behind the happy couple. The moments are more than just for the event, they can become a precious reminder of that happy occasion when reviewed later.
What do I need to do? Here is a setup scenario. You can vary accordingly to suit your requirements.
1. Small bookcase, can hold all of the critical hardware. MacMini, Digital SLR.
2. The bookcase is custom modified so that the camera is held securely in place by the tripod mount, and a slot to accomodate the flash. As you plan for this setup, consider how to change the batteries in the camera and flash.
3. You'll need a table and monitor so that your guests can see what is going on, and the countdown timers for taking pictures, and the iSite camera picture feed.
4. You will need some form of remote USB input to trigger picture taking (remember this needs to be guest proof). I used one of these... https://www.aliexpress.com/item/DIY-Handle-Arcade-Set-Kits-24mm-30mm-Push-Buttons-5-Pin-Joystick-Replacement-Parts-USB-Cable/32684756546.html?spm=2114.13010608.0.0.lEz8z6 - "DIY Handle Arcade Set Kits 24mm/30mm Push Buttons 5 Pin Joystick Replacement Parts USB Cable Encoder Board To PC Joystick&Button". You have to build something to hold the buttons and have the input wired back to the Mac. The application allows you to take a single picture - now, or a series of pictures with a countdown timer that is presented on the screen.
5. You also need some software that can map the USB input to the key commands that trigger pictures. There are at least two options for this:
http://joystickmapper.com
http://www.usboverdrive.com/USBOverdrive/News.html
6. With an AppleTV and the Mac setup to Airplay to it as a second screen, you can move the photos window to the second screen, switch it to full screen display and the images will automatically change as per the preference settings. The AppleTV and Mac need to be on the same network, wired or wireless. So you may need a wireless router to get Airplay working. And you'd want to put this into the box holding the MacMini and camera.
Quoi de neuf dans la dernière version ?
In this version
● Updated AppIcon
Previously in v1.4.6
● Automated Image Printing - The main screen has a checkbox to enable printing of images to the as they come in default printer. When checked, all incoming images will be printed. This is a silent print operation (no user dialogs). Images are scaled to fit the printable area and are centered on the page. If you encounter issues - the system may disable itself, you can turn off and on the printing switch to clear. You can experiment via Print To PDF from the AppStore (I have no affiliation with this software)
● Performance enhancement for connectivity to Moments Camera - companion iPhone application - Enhanced the Moments app's MultipeerConnectivity framework implementation to be more robust, stable, and user-friendly for connecting with the iOS "Moments Camera" companion app.
● Major architectural refactoring. The monolithic AppController (4,500+ lines) was decomposed into five focused manager classes totaling 2,600 lines:
* NetworkManager for MultipeerConnectivity/Bluetooth operations,
* CameraManager for ImageCaptureCore/PTP protocols,
* ConnectionManager for unified connection coordination,
* MainViewController for UI management,
and a streamlined AppController for application lifecycle.
This transformation achieved single responsibility principle, dependency injection, improved testability, and significantly enhanced maintainability for future development.
● Enhanced upload failure logic on macOS and iOS.
1. Failed Transfer Detection: macOS now properly detects and logs failed transfers (IMG_1117, IMG_1118 scenarios)
2. Automatic Retry Mechanism:
- macOS sends retry requests to iOS when transfers fail
- iOS handles retry requests and immediately retriggers upload for specific failed images
- No more orphaned images in the upload queue
3. Improved iOS Upload Logic:
- Fixed premature queue removal (images now only removed on confirmed success)
- Better error handling distinguishing between network failures and duplicates
- Exponential backoff based on queue size to prevent overwhelming poor connections
- Automatic reconnection attempts when no peer available
4. Visual Feedback Enhancement:
- Button shows yellow when queue has >5 pending uploads (network issues indicator)
- Blue only when truly connected with good upload performance
● Performance changes for crash avoidance:
1. Extended Restart Interval: Changed from 15 minutes to 60 minutes (4x reduction in frequency)
2. Intelligent Skipping Logic:
- Skip restart if had successful connection within 2 hours (system appears stable)
- Enforce minimum 2 hours between actual restarts
- Track lastSuccessfulConnection timestamp
3. Conservative Approach:
- Only restart when truly necessary (no connections for >2 hours)
- Add logging to explain why restarts are being skipped
- Reset counters on successful connections
● Image Display has had an overhaul with: Real-Time File Monitoring and new transitions.
- Instant Response: New guest photos appear immediately (no 0.5s delay)
- Handles Bursts: Multiple rapid uploads processed efficiently
- 11 different transition options to choose from, including one that allows for multiple images to be presented at the same time that includes "reflow" when new immages arrive. Adjustable options via settings.