With this release, we introduce three major features and a set of improvements to OpenFollow. This includes 3D mouse control, a Media Gallery for the built-in video source, and shareable configuration templates. OpenFollow now also keeps its clock and software current on its own, ships packaged for x86_64 Linux alongside the Raspberry Pi, and tracks performers more reliably.
Features
3D mouse (6DOF) control.
OpenFollow now supports 3Dconnexion SpaceMouse / SpaceNavigator devices as a first-class input. All six axes of the puck are available and each one maps independently to a target, moving the selected marker along X, Y, or Z, nudging its speed, or driving a fader, each with its own sensitivity, dead-zone, and invert. The device buttons bind to marker actions such as next/previous marker or reset, and multiple 3D mice are enumerated like gamepads so several operators can each drive their own marker. It is off by default, applied live with no restart.
To use it, plug in the device, open the Controls settings, enable the 3D mouse, and assign its axes and buttons.
Media Gallery video source.
The default video source is now a Media Gallery instead of a plain test pattern. You can play a still image, a looping video clip, or one of the bundled backgrounds (a stage layout or a neutral grey as in previous versions). Upload your own images and clips from any browser, or capture a still frame straight from a live camera feed into the gallery. The selected media is device-local: it stays on the machine you set it on and never travels with a config export or import, so a shared config can't overwrite what a station is showing.
To use it, open the Video Source settings, pick or upload media in the gallery, and select it.
Shareable configuration templates.
Any saved template, whether OSC bindings, a camera-and-grid calibration, or a set of trigger zones, can now be exported to a single .oftemplate file and imported on another station, so you can build a setup once and copy it across a rig. Export is a per-row action in the template chooser and Import sits in the same dialog; every kind of template moves through the same file, so the flow is identical whether you are sharing an OSC cue or a whole zone layout. Each file records the build that authored it, and an import from a newer OpenFollow is checked for compatibility and rejected with a clear explanation if this build can't read it, rather than failing with a cryptic error.
To use it, open a template chooser, use Export on a row to download the file, and Import to bring one in.
Enhancements
x86_64 (amd64) builds.
Release builds now also ship an x86_64 (amd64) .deb and signed update bundle alongside the Raspberry Pi arm64 ones, so OpenFollow installs and self-updates the same way on a standard Intel or AMD Linux machine as it does on a Pi.
Automatic clock and update sync.
Because a Raspberry Pi has no battery-backed clock, OpenFollow now sets its time from a network time server on startup and whenever its IP changes, and checks the project's releases for a newer build at the same time, surfacing an update banner when one is available. Both are on by default, can be turned off in config, and fail silently on a show network with no internet, so neither blocks startup or the render path.
Person detection is more robust and ships ready to run.
Person tracking now holds a performer's identity more reliably through brief occlusions and lighting changes. The detection backend is also bundled in the Raspberry Pi .deb, so tracking works out of the box on an offline show network with no extra install; only the optional model-export tooling, which needs an internet connection, stays opt-in.
Bug fixes
- Fixed the "No Signal" banner lingering on the overlay after a video source had reconnected.
- Fixed per-marker move speeds being reset when saving an unrelated section in the web UI.
- Improved the installer's error reporting so clock-skew and stale package-index failures name their actual cause.
Full Changelog: v0.3.1...v0.4.0
Contributors: @Pahegi @michelhonold