Stoatworks Labs

Discipline

Video

Switchers, media servers, transport, and effects that run inside somebody else's host.

Video is the widest category here, because the word covers a switcher on a shelf, a media server in a rack, a stream crossing a network you don't control, and an effect running inside a VJ application. The jobs have almost nothing in common except that they all fail in front of an audience.

A few of these replace something that costs money. Most exist because the thing they do was not available at all — watching a dozen switchers on one screen, provisioning all of them at once, or turning a URL into an SDI output without a laptop left in the signal path. Two vendors have enough here to be sections of their own, and both of those sections continue on a page of their own.

89 projects · 66 with builds to download

Blackmagic Tools

Everything here points at Blackmagic kit — a fleet of ATEMs, the scopes and the routing over them, and the edit project the recordings become afterwards. One switcher is a front-panel job; twelve of them, in twelve rooms, is a software job.

ATEM Overseer — ATEM fleet dashboard

ATEM Overseer

Field testing

AV Systems / Application/ TypeScript/ v0.3.6

A browser dashboard to monitor and control a fleet of Blackmagic ATEM switchers, styled after the BMD multiviewer. Ships as a desktop tray app too.

  • ATEM
  • Blackmagic
  • Multiview
  • Fleet management
ATEM Fleet Admin — Provision every ATEM at once

ATEM Fleet Admin

Field testing

AV Systems / Application/ TypeScript/ v0.4.6

Provision a whole fleet of ATEM switchers at once. Model-aware config forms export loadable XML plus a media folder, or apply live over the network — instead of one unit at a time on a flight case at 02:00.

  • ATEM
  • Blackmagic
  • Provisioning
  • Electron
animATEM — ATEM control with DVE preview

animATEM

Released

AV Systems / Application/ TypeScript/ v0.2.1

Control for ATEM Mini Pro/Extreme ISO with something the hardware doesn't give you: a software-composited SuperSource/DVE preview, built by capturing the switcher's own multiview over UVC. Touchscreen operator UI plus a Companion module.

  • ATEM
  • UVC
  • SuperSource
  • Touchscreen
BlackMatrix — An ATEM fleet as one router, with failover

BlackMatrix

Field proven

AV Systems / Application/ TypeScript/ v0.3.3

A crosspoint router matrix over a fleet of Blackmagic ATEM switchers — sources across the top, destinations down the side, one click to route — which also serves the Videohub Ethernet Protocol, one server per switcher, so hardware router panels, Companion and a media server's own matrix driver all reach the same crosspoints. For a redundant rig it watches the main media server and fires a salvo when it stops answering.

  • ATEM
  • Blackmagic
  • Videohub
  • SuperSource
  • Routing
  • Fleet management
  • Failover
  • Redundancy
atem-scopes — Scopes around an ATEM multiview

atem-scopes

Released

AV Systems / Application/ TypeScript/ v0.2.1

Video scopes arranged around a live ATEM multiview. Waveform, vectorscope, histogram, false colour, zebras and focus peaking on any multiview window — program and preview included — with sources named live from the switcher's own multiviewer config. Desktop app and browser build.

  • ATEM
  • Blackmagic
  • Waveform
  • Vectorscope
  • Multiview
Resolve Configurator — Build a Resolve project from CSV

Resolve Configurator

Field testing

AV Systems · Content Management / Application/ Python/ v0.1.6

Scaffolds an entire DaVinci Resolve project — theatre and day bins, per-session timelines, imported media and smart-bin recipes — from the same session CSV that drives the file-drop workflow.

  • DaVinci Resolve
  • Blackmagic
  • Post
  • CSV
  • Automation

Analog Way

Two generations of processor, one vendor, and two quite different problems. On a current LivePremier the frame answers everything and its own interface asks you to go and look, so these sit beside it. On the Midra and LiveCore boxes the hardware still works and the software that drove it no longer runs, so openRCS replaces it. The whole family is on its own page.

LivePremier Plus — Your switcher's own interface, with the missing panels

LivePremier Plus

Field testing

AV Systems / Application/ JavaScript/ v0.8.1

Adds seven things to an Analog Way switcher's own Web RCS — LivePremier, and since 0.6.0 Midra 4K and Alta 4K too: a VPU resource map, a lighting-desk command line, a theatre cue stack, a memories list across every bank, a layer-properties panel generated from the device's own catalogue, MIDI control-surface mapping, audio routing from the command line, and arithmetic in numeric fields — type 1080-80 into a layer width and get 1000. It runs as a local proxy, so you browse to it instead of to the switcher and the extra panels are simply there, drawn in the vendor's own design language.

  • LivePremier
  • Aquilon
  • Analog Way
  • Pulse 4K
  • Alta 4K
  • Midra 4K
  • AWJ
  • VPU
  • Cue stack
  • MIDI
  • Docker
Mynah — Type the cue, don't hunt for it

Mynah

Released

AV Systems / Browser app/ TypeScript/ v1.5.2

A lighting-desk command line for Analog Way switchers — LivePremier, and since 1.4.0 Midra 4K and Alta 4K as a language core other apps embed — with their audio routed, not patched, since 1.5.0. Type “Recall Screen 1 Memory 5” and press Enter — grandMA3's grammar rules with the switcher's own vocabulary. It shows the exact device paths a command produces before sending anything, and reports an empty memory as empty rather than as success. The memory paths were verified leaf by leaf on a physical Aquilon C, and the Midra spellings on a live Pulse 4K.

  • LivePremier
  • Aquilon
  • Alta 4K
  • Midra 4K
  • Analog Way
  • AWJ
  • Command line
  • Stream Deck
Aquilon VPU Map — Where every mixer in the chassis went

Aquilon VPU Map

Field testing

AV Systems / Application/ JavaScript / Rust/ v1.3.0

Every layer on an Analog Way LivePremier costs physical mixing hardware, and the frame knows exactly where that hardware went. This reads the allocation back and draws the whole chassis on one screen — each VPU as the 8x8 field of links the manual draws it as, every layer's bar as wide as the outputs it spans and as tall as its capacity. It reads and never writes.

  • LivePremier
  • Aquilon
  • Analog Way
  • AWJ
  • VPU
  • Docker
AWJ Surface — A fader that follows the switcher back

AWJ Surface

Field testing

AV Systems / Application/ JavaScript

Maps MIDI and OSC control surfaces onto an Analog Way LivePremier: faders to layer opacity, encoders to size and position, buttons to select layers, apply sources and switch keying. Bidirectional, so motor faders track the device, LED rings follow encoders and X-Touch scribble strips name the layer each strip is pointed at. Read-only mode is enforced by the client having no write path at all, not by a flag.

  • LivePremier
  • Aquilon
  • Analog Way
  • AWJ
  • MIDI
  • OSC
  • Control surface
openRCS — Modern control for Analog Way switchers

openRCS

Released

AV Systems / Application/ Rust/ v0.8.3

A modern control surface for Analog Way Midra and LiveCore series video processors. Its Workspace puts sources, every screen and memories on one window-filling page — build in program, preview or both at once — backed by a graphical layer editor, memories, takes, a multiviewer/confidence-output designer, EDID writer and a full variable inspector.

  • Analog Way
  • NeXtage
  • Ascender
  • Pulse2
  • Midra 4K
  • Alta 4K
  • Web UI
openRCS Protocol — The Analog Way control protocol, written down

openRCS Protocol

Released

AV Systems / Library & Protocol/ Markdown

A reference for the TCP control protocol of Analog Way Midra and LiveCore series video processors — the wire format, the variable model, and the complete variable tables. Documentation only.

  • Analog Way
  • Protocol
  • Midra
  • LiveCore
  • Reverse engineering

Playback and media servers

Getting a picture onto an output — from a file, a URL or a network source.

caspar-AV — CasparCG media server console

caspar-AV

Released

AV Systems · Content Management / Application/ Rust/ v0.1.4

A live-events media server built on CasparCG — screens on a canvas, frame-accurate cues, a media library, GDD template forms and a trigger grid, all in a browser. Verified against a real CasparCG 2.5.0.

  • CasparCG
  • Media server
  • AMCP
  • Cues
WebLinked — A URL in, SDI, NDI and a screen out

WebLinked

Field proven

AV Systems / Application/ C++/ v1.0.3

Renders any web page offscreen through Chromium at a broadcast raster and rate, then sends it to DeckLink and AJA over SDI, to the network as NDI, OMT and RTMP/SRT, into Resolume or TouchDesigner over Syphon and Spout, and fullscreen to a GPU-attached display — every output taking the same frame. It can run several such pipelines at once, each with its own browser, clock and raster, so a page that hangs on one feed cannot touch the others. The engine clocks the browser one frame at a time rather than letting it paint on its own timer, so 50 ticks a second really is 50 paints. Settings, live diagnostics and an interactive preview are all in the browser, so a rack machine needs nothing but an HTTP port.

  • NDI
  • SDI
  • DeckLink
  • AJA
  • OMT
Presentation Commander — Server — NDI matrix for live events

Presentation Commander — Server

Field testing

Content Management · AV Systems / Application/ TypeScript/ v1.1.2

Master control for a presentation room: a real-time NDI video matrix router, layered scene compositor, presenter-notes hub, and a Control Surface with a JSON-RPC automation API.

  • NDI
  • Matrix router
  • Scenes
  • Electron

Transport and routing

Moving pictures between rooms, buildings and networks that were not designed for it.

SRT Router — SRT crosspoint router

SRT Router

Field testing

AV Systems · Networking & Infrastructure / Application/ Rust/ v0.2.4

A broadcast-router-style crosspoint for SRT: any number of inputs and outputs, each output live-switchable to one source, added and removed at runtime from a web UI. Pure relay, no transcode. NDI transport included.

  • SRT
  • NDI
  • Crosspoint
  • Low latency

The BirdDog PLAY

One decoder, taken further than its firmware goes: a builder for installable firmware packages, the patches those packages carry, and a replacement operating system for when a patch is not enough. The whole family, including the private work and the fleet tools, is on its own page.

BirdDog PLAY Patcher — Remote access for an NDI decoder that has none

BirdDog PLAY Patcher

Field testing

AV Systems · Networking & Infrastructure / Browser app/ JavaScript

A BirdDog PLAY is an NDI decoder with no way in from outside the room it is sitting in. This builds an installable firmware package that adds one: an SSH key, Tailscale, and an NDI KVM endpoint that turns the keyboard and mouse on the PLAY's USB port into control of whatever machine it is displaying. The surprise is that it needs nothing from you but a public key — the stock updater runs a script from the uploaded archive as root with no signature check, so a valid package is an ordinary gzip'd tar and there is nothing to decrypt. That means no upload, no vendor keys, and the whole thing assembles in the browser: tar, gzip and SHA-256 are native APIs now. The installer is readable bash that refuses to run on the wrong hardware, stays off the recovery path, and cannot reach the kernel or bootloader. Confirmed on a real unit — Tailscale carries 195 Mbps over userspace networking, and the KVM agent drove a Windows machine using only the free NDI SDK.

  • BirdDog
  • NDI
  • Tailscale
  • KVM
  • Firmware
  • Reverse engineering
bdts — Tailscale, signed in from the decoder's own web UI

bdts

In development

AV Systems · Networking & Infrastructure / Firmware/ Go

A firmware patch for the BirdDog PLAY that adds a Tailscale panel to the System page of the decoder's own web UI, so a unit joins a tailnet from a browser instead of over SSH. It is the other half of the PLAY Patcher: that installs Tailscale but deliberately bakes in no auth key, because a key in a file the browser hands you is a key in cleartext — which left every patched unit installed but not signed in. Settings go through Tailscale's set command rather than up, so changing one preference does not silently reset the rest, and the panel declines to offer exit-node and subnet-route switches this kernel cannot honour: there is no TUN device, so Tailscale runs in userspace networking. Reads are open; writes are gated on a live birdUI session, because an open Tailscale API would let anyone on the LAN join the box to a tailnet of their own.

  • BirdDog
  • Tailscale
  • Firmware
  • Remote access
  • NDI
bdplay — A USB stick as a source on an NDI decoder

bdplay

In development

AV Systems / Firmware/ Go

A firmware patch that adds USB to the source list on a BirdDog PLAY, so the decoder plays video, stills and PDFs off a stick straight to its HDMI output — in order or shuffled, looping, hardware-decoded. The decoder already had everything needed for it and shipped none of it: the media stack is on the box, nothing automounts, and the stock web UI validates the source name against a list USB is not on. So the patch mounts the stick itself, always read-only because people pull these without ejecting, and intercepts the source dropdown rather than trying to teach the vendor's handler a new word — which means the unit stays configured for NDI underneath and switching back is instant. exFAT works without touching the kernel, via FUSE. PDFs render through PDFium.

  • BirdDog
  • NDI
  • Firmware
  • Playback
  • USB
companion-play — A decoder rebuilt as a Companion appliance

companion-play

In development

AV Systems · Show Control / Firmware/ Shell/ v0.1.0

A replacement operating system for the BirdDog PLAY that turns it into a Bitfocus Companion appliance: the Companion server, its admin interface on the unit's own HDMI output, and USB control surfaces plugged into its port. It is not a patch — it replaces the firmware, so the unit stops being an NDI decoder until it is flashed back. Only two partitions change, which leaves both recovery paths intact. 808 Companion modules ship in the image, so it works with no network on first boot.

  • BirdDog
  • Companion
  • Stream Deck
  • Appliance
  • Linux

Effects and plugins

Built on the host's own published plugin SDK, so they load into a rig that already exists rather than replacing it.

Resolume Luma Keyer — Luma keyer for Resolume

Resolume Luma Keyer

Field proven

Video FX / Plugin & Module/ C++ / GLSL/ v1.3.5

A luminance keyer for Resolume Arena and Avenue as FFGL, for Resolve, Vegas, Nuke and Natron as OpenFX, and for After Effects and Premiere Pro. macOS universal and Windows x64, plus a Linux OpenFX build.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • OpenFX
  • Resolve
  • After Effects
  • Premiere
Old Cathode — Analogue TV signal path for Resolume

Old Cathode

Field proven

Video FX / Plugin & Module/ C++ / GLSL/ v1.0.6

An FFGL effect that models the route a picture took to reach a television, rather than the look of one. Universal macOS bundle and Windows DLL.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • CRT
  • OpenFX
  • Resolve
Porthole — Fisheye and defish for Resolume

Porthole

Field proven

Video FX / Plugin & Module/ C++ / GLSL/ v1.0.5

A variable fisheye and defish warp as an FFGL effect. It re-photographs the picture through a different lens rather than drawing a bulge on top of it, so the Projection control is which lens — and defish exactly undoes fish.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Lens
  • OpenFX
  • Resolve
Resolume OFX Bridge — OpenFX plugins in Resolume

Resolume OFX Bridge

Field testing

Video FX / Plugin & Module/ C++/ v0.9.3

Runs OpenFX plugins — the format DaVinci Resolve uses — inside Resolume Arena and Avenue. Point the app at your OFX folder, choose where the results go, press Start: it writes one FFGL plugin per OFX plugin, each carrying that plugin's real parameters into Resolume's own UI. No compiler needed.

  • Resolume
  • FFGL
  • OpenFX
  • DaVinci Resolve
  • VJ

Also video

Everything else in the category.

(re)gauss — CRT interference and degaussing for Resolume

(re)gauss

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.5

An FFGL effect that puts a magnet next to a CRT: the picture leans, every edge grows coloured fringes, and whole regions turn the wrong colour — all three from one magnetic field rather than three separate effects. A Degauss button fires the coil and genuinely clears it.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • CRT
  • Glitch
  • Audio reactive
  • OpenFX
  • Resolve
5-wire — Long VGA and RGBHV cable runs for Resolume

5-wire

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.3

An FFGL effect that puts a long run of VGA or RGBHV between the picture and the screen. Coax loses the square root of frequency, and that one fact gives the soft picture, the streak behind every caption and the displaced ghost — all from the same curve rather than three separate effects. The equaliser at the far end brings the picture back and lifts the noise with it; the identical filter at the amplifier does not.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • VGA
  • RGBHV
  • Analogue
  • Glitch
Abomerration — Sound-reactive chromatic aberration for Resolume

Abomerration

Stable

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.6

Chromatic aberration as an FFGL effect for Resolume and an OpenFX plugin for Resolve — the whole visible spectrum smeared along a path and integrated, rather than three channels offset, with the beat and the spectrum of the music allowed to drive it.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Chromatic aberration
  • Audio reactive
  • BPM sync
  • OpenFX
  • Resolve
Amber — Legacy Flash, playable in Resolume

Amber

Released

Video FX / Plugin & Module/ C++ / Rust / Python/ v0.1.2

Resolume opens neither .swf nor .flv, so a decade and a half of VJ loops, web animation and motion tests sits in formats nothing on the machine will play. Amber is two halves: a converter that turns them into DXV or Hap with the frame rate and transparency intact, and an FFGL source plugin that plays Flash live on a layer with its timeline and ActionScript actually running. Powered by Ruffle. No audio — FFGL has no audio path.

  • Resolume
  • FFGL
  • Flash
  • SWF
  • FLV
  • Ruffle
  • VJ
  • DXV
  • Hap
  • Source
Spasis — The shape of the stereo and surround field, for Resolume

Spasis

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.1

Four FFGL sources that draw the stereo and surround field as sonar-style displays rather than meters — where the energy is pointing, how wide each part of the spectrum is, and what the tonal balance looks like. They open their own multichannel capture device, because FFGL offers a plugin nothing but a mono magnitude spectrum and three of the four cannot be drawn from that.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Audio
  • Goniometer
  • Surround
  • Multichannel
Asciify — ASCII art for Resolume

Asciify

Stable

Video FX / Plugin & Module/ C++ / GLSL/ v1.0.5

An ASCII art FFGL effect that matches each character cell on how much ink it wants and on where that ink sits, so edges pick up characters that lean the right way instead of being flattened into a brightness ramp.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • ASCII
  • OpenFX
  • Resolve
Aspect Calc — Ratio, pitch, size and PowerPoint slides

Aspect Calc

In development

AV Systems / Browser app/ TypeScript

An aspect ratio, pixel pitch and display geometry calculator that runs entirely in the browser. Resolution × pixel pitch = physical size, so any two of the three give the third — and it names the ratio the way the trade does, telling you that 3440×1440 is 21:9 rather than 43:18, and that 1366×768 is 0.049% off 16:9 rather than pretending it is exact. It sizes PowerPoint slides on the same arithmetic, working around the 56-inch slide limit and pointing out when the better answer is to leave the deck alone and raise the export DPI.

  • Aspect ratio
  • Pixel pitch
  • LED
  • Projection
  • PowerPoint
  • Geometry
Astronaught — A video signal put through a Space Echo

Astronaught

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.2

A model of the Roland RE-201 Space Echo as an FFGL effect for Resolume — a loop of tape, three playback heads bolted at equal intervals, a twelve-position Mode Selector and a three-spring tank, with the picture as the signal on the tape.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Tape
  • Delay
  • Echo
  • Space Echo
  • RE-201
  • Roland
  • Spring reverb
  • Feedback
av-test-roms — Test ROMs for the video path

av-test-roms

In development

Video FX · AV Systems / Application/ Assembly

Three test programs — a moving test card, a controller mapping tester and an overscan display — built from source for as many consoles as have a toolchain in Homebrew. For people who care about the video path rather than emulation accuracy.

  • Test ROM
  • Retro
  • libretro
  • Overscan
  • NES
BirdDog PLAY Flasher — A factory image onto a decoder, from a browser

BirdDog PLAY Flasher

In development

AV Systems · Networking & Infrastructure / Browser app/ JavaScript

A browser page that flashes a BirdDog PLAY in recovery mode over WebUSB, and can inject a firmware package into the image on the way so the unit installs it by itself on first boot. It is the counterpart to the PLAY Patcher: the Patcher builds a package for a working unit, this one is for a unit that needs putting back.

  • BirdDog
  • WebUSB
  • Recovery
  • Firmware
Blend Calc — Projector edge blends, costed

Blend Calc

In development

AV Systems / Browser app/ TypeScript

A projector edge-blend calculator that runs entirely in the browser. Flat or cylindrical canvas, any array, and the solver closes the array on the screen exactly — then reports the system resolution, the doubled and quad-covered overlap you pay for twice, the lens needed per position, a PDF report and a Resolume Arena advanced-output file.

  • Projection
  • Blending
  • Curved screens
  • Resolume
  • PDF
Burin — Draw vector artwork in Resolume, at any size

Burin

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.8

SVG rendered at the resolution the frame actually needs and rebuilt when that changes — as an FFGL source and a matching effect for Resolume, and an OpenFX plugin for Resolve. Going in close stays sharp instead of turning into a bitmap, and because the paths are still separate you can draw fills without strokes, reveal a stroke along its own length, or stagger one shape against the next.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • SVG
  • Vector
  • OpenFX
  • Resolve
Cartridge — A console emulator as a live Resolume source

Cartridge

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.2

A libretro frontend that runs inside Resolume as an FFGL generator: point it at a core and a game and the console becomes a layer, with the joypad MIDI-mapped onto whatever controller is already on the desk. Ships as two builds — in-process, and an out-of-process helper that keeps the show up when a core crashes. No cores, BIOS images or games are included.

  • Resolume
  • FFGL
  • libretro
  • Emulation
  • VJ
  • Retro
  • Generator
Coinop — Fourteen arcade games as a Resolume plugin

Coinop

Stable

Video FX · Lighting / Plugin & Module/ C++ / GLSL/ v1.0.6

Snake, Bricks, Marchers, Rally, Drift, Stacker, Chase, Girders, Swarm, Trails, Reflex, Rafters, Duel and Flapper, as an FFGL source and a matching effect for Resolume. Play them from a MIDI pad or an OSC fader, or leave the autopilot to play and lose on its own — and in the effect, the brick field is built out of the clip, so breaking a brick punches a hole through to the layer below.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Pixel Mapping
  • MIDI
  • OSC
Companion — Mynah — Companion module

Companion — Mynah

Field testing

AV Systems · Show Control / Plugin & Module/ JavaScript/ v1.1.1

Bitfocus Companion module for Analog Way LivePremier, driven by Mynah command syntax. One action takes any command, and a library of well over a hundred presets, plus a command builder, populates a Stream Deck with memory recalls, takes and stores.

  • Companion
  • LivePremier
  • Aquilon
  • Stream Deck
  • Analog Way
Downpour — Digital rain for Resolume

Downpour

Stable

Video FX / Plugin & Module/ C++ / GLSL/ v1.0.7

Falling columns of characters, as an FFGL source and a matching effect. Reads its own generated code, four public domain books, or any text file you point it at, in any installed font.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Generator
  • OpenFX
  • Resolve
Flipbook — Play a sprite sheet in Resolume

Flipbook

Stable

Video FX / Plugin & Module/ C++ / GLSL/ v1.0.7

A page of stills, cut into a grid and played as an animation — as an FFGL source and a matching effect for Resolume, and an OpenFX plugin for Resolve. Up to sixty-four copies with a stagger, so one animation travels through the field rather than sixty-four doing the same thing at once.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Sprite sheets
  • OpenFX
  • Resolve
Gridiron — Animated step-and-repeat for Resolume

Gridiron

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.2.2

Point it at a folder of logos and it builds a press wall — the step-and-repeat you stand in front of to be photographed — then animates it. Scrolling reels, twinkling cells, cells that fade and change logo, or the whole wall wrapped onto a Rubik's cube that turns a slice at a time. The arrangement is seeded, never repeats a logo next to itself, and gives every sponsor exactly equal time on screen.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Step and repeat
  • Sponsors
  • Events
  • SVG
Idler — The Windows 95/98 screensavers, for Resolume

Idler

Stable

Video FX / Plugin & Module/ C++ / GLSL/ v1.0.9

Eleven Windows 95 and 98 screensavers — Mystify, 3D Pipes, 3D Maze and eight more — rebuilt as an FFGL source and a matching mask effect. Every saver is a pure function of time and a seed, so nothing drifts with the frame rate and the whole thing can be scrubbed and beat-locked.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Retro
  • Generator
Kestrel — One wide shot in, several tighter shots out

Kestrel

In development

AV Systems / Application/ Rust

Takes a single video input — typically a locked-off wide of a stage — lets you draw any number of regions of interest on it, and sends each region back out of a Blackmagic DeckLink, cropped and scaled to the output raster.

  • DeckLink
  • SDI
  • ROI
  • wgpu
  • Companion
Showbook — Every show file for your switchers, with its history

Showbook

In development

AV Systems / Application/ Rust / Tauri/ v0.1.0

A desktop show file library for video switchers — Barco Event Master (E2, S3-4K, EX, Encore3) and Analog Way LivePremier (Aquilon), with Midra 4K and Alta 4K read as well. Every show is kept with a version history and the vendor file it came from; the patch, the screens, the layers and the presets are drawn to scale; it writes PDF documentation, test patterns, multiviewer layouts and Bitfocus Companion pages; it converts a show between platforms with a report of what carried, what was adapted and what was dropped; and it pulls from and pushes to the live hardware.

  • Event Master
  • E2
  • Encore3
  • LivePremier
  • Aquilon
  • Midra 4K
  • Alta 4K
  • Show files
  • PDF
  • Test patterns
  • Companion
  • Conversion
NESolume — Retro console hardware for Resolume

NESolume

Stable

Video FX / Plugin & Module/ C++ / GLSL/ v1.0.6

Retro console video hardware as an FFGL effect: a real machine's raster, palette and attribute cells, plus scroll-register distortion and glitches that corrupt the indices — so nothing a failing machine shows is ever outside its palette.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Retro
  • Pixel art
  • Glitch
  • OpenFX
  • Resolve
Orrery — Animated shapes for masks and pixel maps

Orrery

Stable

Video FX · Lighting / Plugin & Module/ C++ / GLSL/ v1.0.7

Primitive shapes moving on deterministic paths, as an FFGL source and a matching mask effect. Eight shapes, five paths, and a phase that can be locked to the host's bar — for quick animated masks and for chroma chases driving a pixel map.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Pixel Mapping
  • OpenFX
  • Resolve
Otter EDID Editor — An EDID, and who will accept it

Otter EDID Editor

In development

AV Systems / Browser app/ TypeScript

Builds an EDID from a resolution and a refresh rate, or lets you edit every field of one by hand, entirely in the browser. Then it does the part that usually costs an afternoon: works out the smallest HDMI or DisplayPort version that carries the mode, and checks it against twenty-one models of event processor — answering yes, no, or which input capacity mode you would have to go and configure first.

  • EDID
  • DisplayID
  • CTA-861
  • HDMI
  • DisplayPort
Outrun — Breakaway neon strokes for Resolume

Outrun

Stable

Video FX / Plugin & Module/ C++ / GLSL/ v1.0.5

Neon synthwave strokes as one FFGL effect with two engines: trace the clip's outlines as glowing tubes that can break away from the real geometry, or generate synthwave paths outright — the perspective grid with the striped sun, tunnels, circuits, skylines, and the routed audio as an oscilloscope.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Synthwave
  • Edge detection
  • Generator
  • Audio reactive
nib — Flow-guided line drawing for Resolume

nib

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.3

An FFGL effect that turns a clip into ink — continuous, closed strokes on paper rather than a glowing outline. Most edge effects ask how fast tone is changing at each pixel, which gives a magnitude with no memory of direction. nib works out which way the drawing runs first, then steers a difference of Gaussians across the flow and a line integral convolution along it, so a pixel whose neighbours agree survives and one that fired on its own does not.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Line art
  • XDoG
  • Edge tangent flow
  • Non-photorealistic
Pixel Peeker — LED wall layout and capacity

Pixel Peeker

In development

AV Systems / Browser app/ TypeScript

A browser tool for designing LED video walls: lay out cabinets, add NovaStar or Brompton processors, wire the ports, and see each port's load and headroom. The capacity model accounts for the power-of-two packing controllers actually use, so it reproduces the manufacturers' published per-port figures rather than overstating them.

  • LED
  • NovaStar
  • Brompton
  • Capacity
  • Resolume
Rookery — One cue, every WebLinked

Rookery

Released

AV Systems / Application/ Rust/ v0.2.3

One web UI for a fleet of WebLinked instances: tag them into groups, fan any WebLinked command out to a group or the whole fleet over OSC, and watch each instance's real state come back over HTTP. A lighting desk or cue stack can drive the same groups with one OSC message, reusing WebLinked's own verbs so an existing button is retargeted by editing the front of the address.

  • OSC
  • WebLinked
  • Show control
  • Fleet management
Test Card — A test pattern for every physical output

Test Card

In development

AV Systems / Browser app/ TypeScript

Generates test patterns for every physical output in a show, from the file that already describes the outputs. Import a Resolume advanced output, a Pixel Peeker wall or a Blend Calc array and get one PNG per output at that output's exact raster — or a single composition-sized image with every output's region labelled, which proves the output map is what you think it is.

  • SMPTE
  • Test patterns
  • Resolume
  • LED
  • Projection
Thumbnail Generator — Source thumbnails for a whole rig, in one go

Thumbnail Generator

In development

AV Systems / Browser app/ TypeScript

Builds the labelled source thumbnails an Eventmaster or an RCS2 shows on its multiviewer, for a whole rig at once. Type or paste the source list, give each one an icon, a size and a colour, and download a ZIP with one image per source named after it — plus a manifest matching file to source. Runs entirely in the browser.

  • Eventmaster
  • Analog Way
  • Barco
  • Thumbnails
  • Multiviewer
Macroblock — Audio-reactive chroma subsampling for Resolume

Macroblock

Beta

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.2

Chroma subsampling at any level, as an FFGL effect for Resolume and an OpenFX plugin for Resolve — from the 4:2:0 your footage is already in, up to a single colour for the whole canvas, with luma on its own independent lattice and the grid following the music.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Chroma subsampling
  • 4:2:0
  • Audio reactive
  • OpenFX
  • Resolve
Tilter — Tilt-shift lens for Resolume

Tilter

Stable

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.5

A tilt-shift lens as an FFGL effect for Resolume and an OpenFX plugin for Resolve — a shallow, tiltable plane of focus with a real aperture behind it, so out-of-focus highlights bloom into the shape of the iris rather than smearing.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Tilt-shift
  • Depth of field
  • Bokeh
  • OpenFX
  • Resolve
Tinsel — LED outlines for Resolume

Tinsel

Stable

Video FX / Plugin & Module/ C++ / GLSL/ v1.0.5

An FFGL effect that finds the outlines in a clip and lights them like a string of LEDs, running the patterns an LED controller runs — chases, comets, twinkles, fire — over twenty patterns and sixteen palettes.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • LED
  • Edge detection
  • OpenFX
  • Resolve
UnMapper — Rehearse an LED rig without the LED

UnMapper

In development

AV Systems / Application/ Rust

Reads the Resolume Advanced Output slice map that drives the real wall, receives Resolume's outputs over NDI, and composites them onto a virtual reconstruction of the rig. Drive that to connected monitors as a stand-in wall, or view it as 3D previz of the set.

  • Resolume
  • NDI
  • LED
  • Previz
  • wgpu
Vectrix — Vector CRT synth for Resolume

Vectrix

Stable

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.10

An oscillator, a fourteen-block guitar and eurorack pedalboard, and a cathode ray tube in X/Y mode, as an FFGL source and effect for Resolume and an OpenFX plugin for Resolve — you are not watching a picture of an oscilloscope, you are watching where the beam went.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Oscilloscope
  • Vector
  • Lissajous
  • Oscilloscope music
  • DSP
  • OpenFX
  • Resolve
Flenser — A liquid light show, for Resolume

Flenser

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.4

Oil, water, alcohol and dye between two watch glasses on an overhead projector — the 1967 liquid light show, as an FFGL source and a matching effect that puts your clip where the lamp was. The cells are dye filters, so where they cross they multiply rather than add.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Liquid Light Show
  • OpenFX
  • Resolve
Vertigo — The dolly zoom, for Resolume

Vertigo

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.6

An FFGL effect that performs the shot where the camera tracks backwards while the lens zooms in, so one surface stays exactly the size it was and everything at any other distance moves. It can invent the depth it needs, so it works on any clip — or read a real depth map out of the picture.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Depth
  • Warp
  • OpenFX
  • Resolve
Stoatworks Burrow — One list for every plugin, tool and module

Stoatworks Burrow

Beta

Video FX · AV Systems · Audio · Networking & Infrastructure / Application/ Rust / TypeScript/ v0.3.0

An optional desktop client for the Stoatworks software — plugins, tools, applications and Companion modules. Shows what you have installed and what has an update, and installs each one in whichever formats you use: FFGL for Resolume, OpenFX for Resolve, After Effects, VST3 and Audio Units for a DAW. It keeps itself up to date too. No account, and nothing sent anywhere.

  • Resolume
  • DaVinci Resolve
  • After Effects
  • FFGL
  • OpenFX
  • Plugin manager
  • Tauri
  • macOS
  • Windows
weblinked-docker — A URL in, NDI out, headless

weblinked-docker

In development

AV Systems / Library & Protocol/ Dockerfile

WebLinked in a container: renders a web page offscreen at a broadcast raster and exact frame rate and sends it out as NDI — no display, no card, no desktop.

  • Docker
  • NDI
  • Headless
  • Tailscale
  • Self-hosting
Will My Show Fit? — The show you have, and the switchers that will take it

Will My Show Fit?

In development

AV Systems / Browser app/ TypeScript

Describe a show — the screens and their canvases, the layers on each, every source and every destination — and it works out which switchers will actually take it. Not whether the input count adds up, which is the question a spreadsheet answers and the one that gets people caught out, but whether there is a physical plug of the right type and capability for every signal, whether the layer budget covers the layers as each manufacturer counts them, and whether the canvas fits. Thirty-seven machines checked, then a wiring topology proposed for each one that fits.

  • Screen management
  • Layers
  • Edge blending
  • HDMI
  • SDI
  • DisplayPort
Afterglow — Frame trails that decay as they age, for Resolume

Afterglow

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.3

A queue of the last few dozen frames laid back over the picture, each one further gone than the one in front of it — an FFGL effect for Resolume and an OpenFX plugin for Resolve. Not a blur and not a feedback loop: every frame goes in, the whole queue comes back out, and each ghost is dimmer, coarser, more crushed and further round the colour wheel than its neighbour.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Frame trails
  • Echo
  • Decay
  • OpenFX
  • Resolve
gaffer — Depth of field with a rig that rings, for Resolume

gaffer

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.3

A simulated lens on a depth map, with the music holding it — an FFGL effect for Resolume and an OpenFX plugin for Resolve. One plane of the picture is sharp and everything else is a disc sized by its distance from that plane, with a camera rig that rings to the kick and a focus puller working two marks on the barrel.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Depth of field
  • Bokeh
  • Focus pull
  • Audio reactive
  • OpenFX
  • Resolve
Compander — Radio mic companding for video

Compander

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.2

An analogue radio mic's companding circuit with a picture pushed through it — an FFGL effect for Resolume and an OpenFX plugin for Resolve. A compander's attack and release, applied to video, is a distance along the scan, so one control runs from haloing tight to every edge to the whole picture pumping.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Compander
  • Companding
  • Radio mic
  • Analogue
  • OpenFX
  • Resolve
  • Audio reactive
Ferric — Wow, flutter and tape noise reduction for Resolume

Ferric

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.2

The video signal put on tape, as an FFGL effect for Resolume — an unsteady transport tears the picture in time, the oxide adds its own hiss and dropouts, and the consumer sliding-band noise reduction that hid one under the other is in there with both ends of it under your control.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Tape
  • Wow and flutter
  • Noise reduction
  • Audio reactive
  • BPM sync
Escapement — A video feedback rig and its fractals

Escapement

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.1.5

A model of an optical video feedback rig for Resolume — a camera looking at a screen through glass that splits the light. The fractals are what the loop settles into rather than anything it draws: Sierpinski, Koch, the Heighway dragon and Barnsley's fern are tap configurations, and the zoom is endless because it is a rate rather than a coordinate.

  • Resolume
  • FFGL
  • GLSL
  • VJ
  • Fractals
  • Feedback
Cogwheel — A Spirograph as a machine, not a curve

Cogwheel

Released

Video FX / Plugin & Module/ C++ / GLSL/ v0.6.0

A Spirograph for Resolume and Resolve — a toothed ring, a wheel rolling in mesh with it, and a pen in one of the wheel's holes. Nothing evaluates a curve: the ratio is two integers because gears mesh, so 96 and 32 close in a single turn with three lobes while 96 and 31 take thirty-one turns and lay down ninety-six. Ink is subtractive, so two pens crossing darken the way they do on paper.

  • Resolume
  • FFGL
  • OpenFX
  • GLSL
  • VJ
  • Generative
Wallslide — PowerPoint and Keynote templates sized for an LED wall

Wallslide

In development

AV Systems / Browser app/ TypeScript

Generate correctly sized, themed PowerPoint templates and test decks for an LED wall. Type the wall's resolution and it works out a slide the application will actually accept: PowerPoint caps a slide edge at 56 inches, which is a schema limit rather than a fussy dialog, so a 7680 × 1080 wall wants an 80-inch slide it will not make. The answer is to build at half size and export at 2× — and the build scale is always a whole number or a whole reciprocal, because "build at half and export at 200%" is an instruction a person can follow at 2 a.m. and "build at 1/2.37" is not. Keynote's limits are different and were measured by asking Keynote until it refused: 8192 pt against PowerPoint's 4032, so the same wall it simply holds at 1:1. Themes carry the event's own colours, fonts, logo and background, and the optional test deck renders its patterns at the wall's exact raster. Everything happens in the browser — there is no backend, so a client's unannounced logo has nowhere to be uploaded to.

  • PowerPoint
  • Keynote
  • LED
  • Templates
  • Test patterns
  • Presentation
Negative Space — The gaps between the screens, as pixels

Negative Space

In development

AV Systems / Browser app/ TypeScript

Lay out LED walls and projection surfaces with their real physical dimensions and resolutions, say how far apart they are, and it works out the composite canvas including the blank pixels in the gaps — so content laid out across the array accounts for the space between the screens as though it were pixel surface, and a graphic crossing the stage disappears behind each gap instead of jumping. Out comes the canvas size, the slice rectangles with the gap offsets already applied, a Resolume Arena advanced-output file, a guide plate at exactly the canvas resolution, PowerPoint slide geometry and a starter deck, CSV, and a PDF report with a scale plan.

  • LED
  • Projection
  • Pixel pitch
  • Resolume
  • PowerPoint
  • Canvas
Dead Air — Strip silence, then hand the cut to Resolve

Dead Air

In development

AV Systems / Browser app/ TypeScript

Drop a recording, set a threshold and a minimum gap, and watch the silences shade red on a loudness waveform. Out comes a cut-list EDL that DaVinci Resolve imports as the ripple-deleted timeline, a marker EDL to review the silences before cutting anything, an FCPXML for Premiere and Final Cut, a CSV, an ffmpeg command — or the cut file itself, rendered in the browser with its own hardware H.264 and AAC codecs and streamed straight to disk. Reads the frame rate and the start timecode from the file's own timecode track. Runs entirely in the browser.

  • DaVinci Resolve
  • EDL
  • FCPXML
  • WebCodecs
  • ffmpeg
  • Timecode
  • Dialogue
Alleycat — Keeps the show on DXV without anyone thinking about it

Alleycat

In development

Video FX · Content Management / Application/ TypeScript

A tray tool that keeps a Resolume show on DXV. Point it at a folder and anything dropped there is probed and, if it is not already DXV, sent to Resolume Alley to be converted. Point it at a running Arena or Avenue and it finds the clips that are still h264, converts them, and swaps the converted file into the composition in place — keeping in and out points and clip effects, and skipping any clip that is currently playing until it stops. The conversion is done by Alley itself, because there is no DXV encoder in ffmpeg and Alley is the only way to produce one.

  • Resolume
  • Resolume Alley
  • DXV
  • Transcode
  • Electron
  • macOS
Aquilon Pitch — Mixed-pitch walls on one Aquilon screen

Aquilon Pitch

In development

AV Systems / Browser app/ TypeScript

Work out the pitch compensation an Analog Way LivePremier needs when one screen spans LED walls of different pixel pitches. Type each output group's raster and its pitch — or its measured size, and let the pitch fall out — and get the H and V ratios to type into Web RCS, the canvas footprint each group will take, the screen canvas that results, and the millimetres the device's three-decimal field costs you at the far edge of each wall. Runs entirely in the browser: no account, no backend, and a client's set design has nowhere to leak to.

  • Analog Way
  • LivePremier
  • Aquilon
  • LED
  • Pixel pitch
  • Web RCS
  • TypeScript

A plugin is a different kind of project

Four of these load into an application somebody else wrote, which changes what correctness means. An app that crashes takes down your app; a plugin that crashes takes down the host, in front of an audience, and the person whose evening you ruined has no reason to believe it was the plugin. So they are written against the host's own published SDK, they are conservative about state they don't own, and all four have since been run inside the host on real content rather than only through their offline harnesses — which is a different bar, and the one that matters.

They also don't try to be products. An effect is one idea done properly — a luma key, a lens projection, an analogue signal path — and the ones here derive their artefacts as consequences of modelling that path rather than painting them on, which is the only way they stay right when you push the controls somewhere the author never tried. What is still open on each is on its own page: a warp measured against an independent implementation of the same maths to within the quantisation of the test ramp, and a Windows build that has never been compiled, are both true of the same plugin.

What has been on real hardware

More of the video work than the audio work, but not all of it. WebLinked is field proven, with its SDI output measured against a real DeckLink Duo 2 — colour confirmed by loopback against an independent BT.709 reference — and its NDI output verified end to end against a real receiver. The CasparCG console's protocol work was derived from the server's source and then verified against a real server, which caught six genuine bugs, but it has never driven real output hardware. The ATEM tools were built against simulated fleets, because a dozen switchers is not a thing you have on a desk — but they have since met real ones: BlackMatrix has run a live event against a real ATEM, ATEM Overseer has been tested against real hardware in a lab, and animATEM's multiview capture was calibrated on a real Mini Extreme ISO, which is where its wrong assumption about window numbering was found. Their pages say exactly which parts that covers.

The pattern to expect: the protocol and the logic are tested, the last cable usually isn't. Every project page lists what to check before a show depends on it, and those lists are written to be read rather than to cover anybody's back.

The whole catalogue

This is one discipline of several

The full index carries every project at once, searchable and filterable by discipline, type and how finished it is — including the disciplines that don't yet have a page of their own.