Repository navigation
Releases
v0.1.0
The first release of Bluebook: the look of a 1990s paranormal TV title sequence, and a crime-drama freeze-frame hit, for Resolume Arena and Avenue. One FFGL effect, SW Bluebook (BK01). It does to your clip what the opening titles of The X-Files (1993) did to theirs: a stuttering step-print, a zoom into a photograph until it's all grain, a face pulled long, a hand that glows, a torch in a dark room, a cold teal grade and a line of text spelling itself out. Freeze is the other show's trick: press it and the frame on screen stops with a white flash, drains to black and white and pushes in. Nothing from either show is in it, and it isn't affiliated with anyone who made them.
The one idea. Those titles were a run of treatments rather than a story, and every one of them works on any clip, so the plugin is a small film lab with a stage for each and leaves the footage to you. The stages are honest about what they imitate. An enlargement is a new print of the last one, softer and carrying its own grain, enlarged with it, so four generations in the grain is coarse and clumpy rather than merely bigger. The torch lights the picture in linear light, so the middle looks like a lamp and not a grey disc. The aura glows round the subject, not on it. Everything that belongs to one shot starts switched off: the defaults are what the sequence did to every shot.
Controls: Print (Stutter, Step On: Rate, Beat, 1/2 Beat, 1/4 Beat or Bar; Step Rate, Dissolve, Weave, Trail); Enlarge (Enlarge, Enlarge Run: Manual or Cycle; Magnify, Generations, Enlarge X, Enlarge Y); Stretch (Stretch, Stretch Width, Writhe, Stretch X, Stretch Y); Aura (Aura, Aura Size, Aura Key: Bright, Dark or Alpha; Aura Threshold, Aura Colour, Corona, Silhouette); Torch (Torch, Torch Size, Torch Sweep, Torch Angle, Torch X, Torch Y); Film (Tint: Teal, Green, Blue, Amber, Silver or Natural; Tint Amount, Contrast, Grain, Grain Size, Flicker, Vignette); Caption (Caption, a text field of up to 48 characters; Caption Show, Caption Style: Title or Legend; Caption Size, Caption Spacing, Caption Glow, Caption Y); Freeze (Freeze, Freeze Hold, Freeze Fade, Freeze Flash, Freeze Push); Output (Mix). Caption Show is a slider, so the reveal can run from a clip's timeline, a fader or Resolume's envelopes.
Downloads: a universal macOS build (Apple silicon and Intel) as a .dmg or .zip, and a Windows x64 installer (-setup.exe) or .zip. Every archive carries ATTRIBUTIONS.md and OFL.txt, the caption typeface's licence. The macOS build is Developer ID-signed and notarised (signed on 2026-11-02, after publication); if macOS refuses a download, it's from before that, so download it again. The Windows build isn't signed, so SmartScreen warns once. The Windows installer is per user, with no administrator prompt, and offers Documents\Resolume Arena\Extra Effects (Avenue's where only Avenue is installed) as the folder; this one hasn't been run on a Windows machine yet.
What is measured (offline, by tools/verify.sh on an Apple Silicon Mac under macOS 26, driving the plugin's own class in a headless GL context, at 640×360 and 320×180 and again on Apple's software renderer):
- Print. At 7 prints a second, every one of 59 frames shows the print and the dissolve the model says; Step On Beat and Bar at 120 BPM print on the host's beat, 0 of 250 frames wrong. Trail's smear rises as its half-life says to within one half-float ULP for eight half-lives.
- Enlarge and Stretch. Magnify 4 at three generations of four measures ×2.8284, as 4^0.75 says; four generations in, the grain's variance is 5.0× the live grain's. Stretch 2 puts the centre column's lines at twice their distance to half a pixel.
- Aura, Torch, Caption. The glow falls off past the subject's edge as a blurred edge does, to within 15%; the torch is centred on its aim to a pixel and leaves the room 3% of its light; the caption's capitals are Caption Size tall, to the pixel.
- Freeze. The frame before the press, held bit for bit in grey for Freeze Hold, and let go on the frame; a second press inside the hold freezes the clip as it is then; Freeze Push 1 pushes in ×1.2.
- The checks can fail. 13 deliberately wrong models each fail their check, and 17 one-character mutants of the shipped GLSL and C++ are all caught. All 50 controls that can move a still change the picture, and Apple's software renderer found three bugs the GPU never showed, all fixed.
In Resolume on macOS. The release build in Arena 7.28.1 on one Mac, driven over Arena's REST API with the 1920×1080 output read back as snapshots: all 56 controls (Arena's Opacity and the plugin's 55) arrive with the name, order, type, range and default declared, Caption is a text field, and Mix 0 is the effect bypassed to the bit. On a still, 38 of the plugin's controls change the output. Step On printed every 0.505 s on Beat at 120 BPM, every 2.01 s on Bar at 120 and every 2.43 s at 100, and the picture held exactly between prints. A Freeze press flashed, had no colour left by 0.39 s and let go between 1.30 and 1.39 s, against Freeze Hold's 1.31 s; bypassed half way through, it came back still frozen. A caption of EXHIBIT 7 survived a save and a reopen.
On Windows it has been in Resolume. The fleet's Arena gate ran a CI build in Arena 7.27.1 on win-lab (software rendering, no GPU): the DLL loads, registers as BK01 (an effect), every control matches its name, order, type, range and default, it renders and Arena's log stays clean: 9 passed, 0 failed, 1 skipped. Against a still, 38 controls changed the picture, 2 were inconclusive against the grain (Torch Angle and Grain Size) and none were dead. Software rendering says nothing about a GPU or about speed.
What isn't verified, or is a limit. Nobody has played it in a show, looked at how Arena's inspector lays out the groups, used it in Avenue or as a clip effect, or timed it inside Resolume. Step On printed at Arena's tempo, but either way of printing (from the bar phase, or from the tempo on the plugin's own clock) gives those intervals, so whether it lands on Arena's downbeat isn't known. Bars are four beats. The caption is plain ASCII in one typeface: anything else draws as ?. The Aura key has mostly met a drawn test card rather than real footage, where a bright sky is as bright as a hand. It takes about 556 MB of GPU memory at 4K, going by the buffer sizes. The universal build's Intel half has never run on an Intel Mac.
Cost, wall-clock time a whole frame on an Apple M4 Max with everything but a freeze switched on: 0.32 ms at 720p, 0.55 ms at 1080p and 2.04 ms at 4K.
Try it first in the browser demo: the plugin's own GLSL and caption font in WebGL2, fed by a JavaScript port of its CPU half, every control there, on a generated clip or one of your own; over 4,050 frames the port's numbers agree with the plugin's own class, every integer equal. The video: https://www.youtube.com/watch?v=9FP7gUHqJWM
Not done. No presets (Resolume saves parameter presets itself; the guide's Recipes are the looks) and no OpenFX port.
- User guide: https://stoatworks-labs.com/software/bluebook/guide/
- Project page: https://stoatworks-labs.com/software/bluebook/