OVNI v0.3.0 — SUPERNOVA: media session, four new worlds, real LFOs
SUPERNOVA v0.3.0 — audio-reactive visual synth · macOS (Universal, arm64 + Intel) · VST3 · AU · standalone app · free, AGPLv3.
Signed and notarized installer: OVNI-SUPERNOVA-v0.3.0.pkg (SHA-256 in SHA256SUMS.txt). Run it over v0.2.0; your presets and sessions carry over.
What's new
SUPERNOVA becomes a playable instrument. A SUPERNOVA-only release: the MEDIA
session — a strip of photos and video you can cue, reorder, relink and drive from
a MIDI pad — a sequence clock that cuts on the beat, an LFO section that means
what it says, and four kaleidoscope worlds swapped for a photographic family
(still 50 worlds). The seven OVNI audio plugins and ORBIT are unchanged and are
not part of this release. macOS-only, as before.
Added
- MEDIA strip — see your session. A filmstrip of numbered thumbnails between
the visual and the knobs shows every photo/video in order, the current one with
a countdown to the next change. Click to cue (← / → too), drag to reorder,
✕ to remove, right-click for rotate / move to start / reveal / clear, + to
add. Number keys 1–9 / 0 cue a tile straight away. Thumbnails are
decoded in the background with the same orientation the engine uses. ▦ in
the top bar hides/shows it; drop a folder to load all its photos in name
order; iPhone HEIC, WebP and TIFF are accepted (macOS). Removing,
reordering, rotating and clearing the session are all undoable (Cmd+Z).
The session — a sequence, or a single photo or video with its rotation — is
saved with the project and with user presets, so reopening brings it back.
Loading a project always wins: if the host restores one while you are playing,
the session it carries takes over, and a cue that lands in that same instant is
applied to the freshly loaded session instead of being written back over it. - Drop photos between two tiles. The MEDIA strip is now its own drop target: files or a folder
dropped on it are inserted at that position (an insertion line shows where), instead of always
landing at the end of the session. The photo on screen keeps playing — only its number changes. - Missing media is marked, not dropped. If a photo or video has moved, its tile stays in the
session marked missing (red !, greyed name) instead of silently disappearing when the
project reopens; the sequence skips it, and right-click offers Relink… for that file or
Relink folder… to recover every missing item of that folder at once. A file that returns to
its place heals itself. Nothing cuts to a missing tile — the sequence, ← / →, the number keys
and the MIDI cues all step over it, and clicking one opens its relink menu instead. - Canvas format (FORMAT chip). The canvas now has a shape, like a project
format: AUTO follows the first item (vertical photo → 9:16, square →
1:1, landscape → 16:9), or pick FREE / 16:9 / 9:16 / 1:1 / 4:5 / 4:3. The
visual is drawn letterboxed to it in the editor, the app, fullscreen output and
the Syphon feed; the EXPORT menu lists the matching preset first. FIT / FILL
chooses letterbox vs. crop-to-fill. Pure layout — the render engine and its
byte-exact goldens are untouched. - Sequence clock, order and transition. The sequence can advance by
Seconds, by Beats of the tempo (host BPM / TAP — cuts on the bar) or on
every Kick with a minimum gap; Loop or Shuffle (Shuffle is the order
the clock advances in — stepping by hand with ← / → or notes 88 / 89 always
walks the strip in order, so next-then-previous puts you back where you were); Cut or
Burst (the old photo explodes and re-forms as the new one). Persisted with
the project and presets. In Beats, a cue waits for the next bar (the armed
tile shows a dashed outline) instead of cutting mid-phrase — the armed photo is
decoded while it waits, so the cut lands on the beat — and holding Shift
cuts right now. A cue asked for just before a downbeat lands on that downbeat:
it carries the beat it was armed at (for MIDI, the beat of the note itself),
not the beat of the editor tick that picked it up. - LFO rates: 21 beat divisions plus free-running Hz. Every division from a
sixteenth to four bars now carries its triplet (·T) and dotted (·D)
variant, and a FREE / Hz mode (0.05–20 Hz) runs an LFO off the clock instead
of the tempo — it keeps moving with the transport stopped or with no host. - Per-LFO polarity, phase and retrigger. BI / UNI picks whether the LFO
swings both ways around the knob or only adds from it; PHASE (0–360°) offsets
where the cycle starts; RETRIG restarts the cycle on the current beat without
disturbing your phase setting. All three persist with the project. - LFO depth now means what it says. At 100 % an LFO sweeps exactly the target
parameter's range, and the result is clamped to that range — several LFOs on the
same target can no longer push a parameter out of bounds. - LFOs are recalculated on every rendered frame instead of 30 times a second,
so fast modulation reads as a wave rather than a staircase on a 60/120 Hz display. - Cue your photos from a MIDI pad. Notes 72–87 cue tiles 1–16 of the media
session, 88 / 89 step next / previous and 90 jumps to a random photo
(never the one on screen) — so the session stays playable in immersive or
fullscreen, where the strip isn't visible. Cues follow the sequence clock (in
Beats they wait for the bar, like clicking a tile); MIDI cue: now in the
SEQ menu makes every note cut immediately. - A photo sequence is exported the way it plays: the clip follows the sequence
clock (Seconds / Beats / Kick), its order (Loop / Shuffle) and its
Burst transition, starting from the photo on screen — and the visuals react
at the speed you saw them, with the muxed audio covering the same stretch.
Changed
- Four worlds swapped for a photographic family. The kaleidoscope presets
(Kaleidoscope, Hypnosis, Cathedral, Hologram) mirrored your picture into a
mandala and the material stopped reading. Their slots now hold Parallax,
Lantern, Meridian and Vantage — built on the same idea as Satellite: the
image is preserved and reinterpreted with depth, parallax, a slow orbit, a
subject cut-out or light, with faithful (or subtly graded) color. Still 50
worlds. The KALEIDO control itself is untouched — turn it on in any world. - Rotating a photo is instant. The ⟳ button used to re-read the file, decode
it again and re-run both Vision passes on every quarter turn — hundreds of
milliseconds with a 12-megapixel photo. The decode is now cached upright and
rotations are derived from it (a measured 45× on four turns). As a bonus, a
photo reopened from a project at a given rotation and the same photo rotated by
hand now produce exactly the same image.
Fixed
- Sessions saved with a comma decimal separator survive. LFO banks, MIDI-learn
maps and scenes are written and read independently of the process locale, so a
host that switches the C locale (common in Qt/GTK apps) can no longer destroy a
saved performance setup. - Undo restores your LFO bank, MIDI-learn map and scenes. They were captured in
the undo snapshot but never re-read on undo/redo, so they stayed put. - A click in the instant a project loads no longer overwrites its settings.
Toggling the canvas format, FIT/FILL, the MEDIA strip or MIDI cue: now inside
the 33 ms between the host restoring a project and the editor picking it up
used to overwrite the setting that had just been restored — and it did not
correct itself. The host wins, as it already did for the session itself.
Source for this exact build: branch feat/supernova, tag v0.3.0 — https://github.com/ovniaudio/ovni/tree/v0.3.0
ORBIT lives in its own repo: https://github.com/ovniaudio/orbita