How imovertinker/photobooth works
This is a Raspberry Pi photobooth application: button presses drive creation, browsing, printing, and shutdown. In creation mode, photos and a selected frame design form a strip; the app previews it and saves completed strips. Browse mode navigates saved strips, while button actions also change frame design or strip capacity and request two-copy printing. The single-file architecture is supported by the README and sampled excerpts; omitted portions mean some action-to-function wiring is shown only where documented, and external printer details are not established.
Main entry points: photobooth.py App event loop · frames Frame assets
Components 17
Input and control
- Button events
photobooth.py - Action queue
photobooth.py - App event loop
photobooth.py - Mode control
photobooth.py - Pi shutdown
photobooth.py
Photo creation
- Photo capture
photobooth.py - Frame configuration
photobooth.py - Strip composer
photobooth.py - Live preview
photobooth.py
Review and output
- Saved strips
photobooth.py - Strip browsing
photobooth.py - Strip printing
photobooth.py
Hardware and assets
- Frame assets
frames - Pi camera
- LCD display
- CUPS printer
Other components
- Photobooth user
Connections 20
- Photobooth user → Button events: presses
- Button events → Action queue: enqueues actions
- App event loop → Action queue: dequeues actions
- App event loop → Mode control: dispatches mode actions
- App event loop → Photo capture: dispatches capture actions
- App event loop → Strip browsing: dispatches browse actions
- App event loop → Strip printing: dispatches print actions
- App event loop → Pi shutdown: dispatches shutdown
- Photo capture → Pi camera: captures images
- Photo capture → Strip composer: supplies photos
- Frame configuration → Frame assets: reads designs
- Strip composer → Frame configuration: loads slot layout
- Strip composer → Frame assets: loads frame image
- Live preview → Pi camera: captures preview
- Live preview → Strip composer: composes preview
- Live preview → LCD display: updates display
- Photo capture → Saved strips: saves strip archive
- Strip browsing → Saved strips: reads saved strips
- Strip printing → Saved strips: prints selected strips
- Strip printing → CUPS printer: submits print job