About
Inspirations and attributions
None of this was built from nothing. This page is everything in these projects that came from somebody else — the SDKs they are built on, the code we derived from other people's work, the projects we checked ourselves against, and the things they set out to be.
It is generated from the same file that writes the ATTRIBUTIONS.md in every repo, so the page and the repos cannot disagree. 53 of the 71 projects listed here have a public repo you can read; the rest are named without a link.
Code we derived from other people's work
Someone else solved this first. These projects would not exist in their current form without the work below, and in several cases the hard part — finding out what a device or a format actually does — was done by somebody else entirely.
network-audio-controller (netaudio-core)
Chris Ritsen
Unlicense
Audinate's Dante ARC control protocol is undocumented. crates/discovery/src/dante_control.rs is a reimplementation rather than a port — no code was copied — but every constant, record layout and test in it is cross-checked against that crate's own known-answer unit tests. The wire format was documented and byte-tested there first, and guessing it from nothing would have been a different project.
Used in Dante BabelBox
@node-projects/acad-ts
MIT
DWG is AutoCAD's native format and has no public specification — everything known about it is reverse-engineered. acad-ts does that parsing, and src/lib/import/dwg.ts is only the translation from its object model into ours. It was chosen over the more obvious libredwg specifically because libredwg is GPL-3 and bundling it into an MIT browser app would relicense the app. acad-ts is itself an independent TypeScript port of ACadSharp.
Used in ArrayCAD
Four public-domain works, via Project Gutenberg
public domain in the United States
The built-in passages are body-only excerpts of Alice's Adventures in Wonderland (Lewis Carroll, 1865), The Republic Book VII (Plato, tr. Benjamin Jowett, 1871), Discourse on the Method Part IV (Rene Descartes, tr. John Veitch, 1850) and Hamlet Act III Scene I (Shakespeare, c. 1600). The Gutenberg header, footer and licence are deliberately never included, and the extractor asserts that no reference to them survives — so the files carry the public-domain work and nothing of Gutenberg's own added matter.
Used in Downpour
blackmagic-misc
Sylvain "tnt" Munaut
Apache-2.0 (SPDX header in bmd.py; the repo has no LICENSE file, so GitHub does not detect it)
The DaVinci Resolve Speed Editor stays silent until a mutual-authentication handshake completes. That handshake was reverse-engineered by Munaut, and both the authentication maths and the HID report layouts in console/src/lib/speedEditor.ts follow that reference. Our side of it is narrower — we only authenticate to the device and never verify it — but the work of finding out what the device wants is not ours.
Used in OpenStage
2D signed distance functions
Inigo Quilez
published derivations, used with credit
The shape primitives are the standard analytic forms derived and published by Quilez. The normalisation constants, the motion, and everything else in the plugin are ours — but the distance functions at the centre of it are his derivations and are used as published.
Used in Orrery
What they are built on
The SDKs, frameworks and libraries these projects bundle or link. Ordered by how many projects depend on them.
The npm ecosystem
predominantly MIT
the individual package authors
Build tooling, test runners and the libraries the front ends are assembled from. The exact set and versions for any build are in that repo's lockfile, which is the authoritative list.
npm dependencies, resolved and pinned in the lockfile.
36 projects: animATEM, ATEM Fleet Admin, ATEM Overseer, atem-scopes, av-launcher, Companion — animATEM, Companion — Atem Overseer, Companion — caspar-AV, Companion — flock, Companion module: Kestrel, Companion — PDF Presenter, Companion — Presentation Commander Client, Companion — Presentation Commander Server, Companion — RFutils, Companion — SimpleCue, Companion — srt-router, Companion — WebLinked, LEQtion, MicWizard, PDF Presenter, Presentation Commander — Client, Presentation Commander — Server, Presentation Converter, RFutils, simpleVIS, ArrayCAD, Aspect Calc, Blend Calc, latex-wysiwyg, Pixel Peeker, pptx-font-manager, simpleRTA, stagewash, the Stoatworks Labs website, Test Card, thumbnail-generator
Resolume FFGL SDK
BSD-3-Clause
FreeFrame
The plugin ABI itself. An FFGL effect or source is defined by this SDK's headers — there is no other way to be loadable by Resolume Arena and Avenue.
Vendored as a git submodule at external/ffgl (third_party/ffgl in oxbow).
18 projects: Asciify, Coinop, Downpour, Flipbook, Idler, NESolume, Old Cathode, Orrery, Outrun, oxbow, Porthole, Resolume Luma Keyer, Resolume OFX Bridge, Scopes, Tinsel, WebLinked, cartridge, nib
GLEW — the OpenGL Extension Wrangler Library
BSD-3-Clause (with Mesa 3-D and Khronos components)
Milan Ikits, Marcelo E. Magallon and Lev Povalahev
Resolves OpenGL entry points on Windows, where the system headers stop at OpenGL 1.1.
Arrives inside the FFGL submodule at external/ffgl/deps/glew-2.1.0. Not fetched separately.
18 projects: Asciify, Coinop, Downpour, Flipbook, Idler, NESolume, Old Cathode, Orrery, Outrun, oxbow, Porthole, Resolume Luma Keyer, Resolume OFX Bridge, Scopes, Tinsel, WebLinked, cartridge, nib
libpng
PNG Reference Library License (libpng)
the PNG Reference Library authors
Part of the upstream SDK tree rather than something these plugins call directly — listed because it is present in the checkout.
Arrives inside the FFGL submodule, under the SDK's CustomThumbnail sample.
18 projects: Asciify, Coinop, Downpour, Flipbook, Idler, NESolume, Old Cathode, Orrery, Outrun, oxbow, Porthole, Resolume Luma Keyer, Resolume OFX Bridge, Scopes, Tinsel, WebLinked, cartridge, nib
React
MIT
Meta Platforms, Inc. and affiliates
The UI layer for the browser tools and the Electron and Tauri front ends.
An npm dependency.
17 projects: animATEM, ATEM Fleet Admin, atem-scopes, LEQtion, MicWizard, PDF Presenter, Presentation Commander — Client, Presentation Commander — Server, ArrayCAD, Aspect Calc, Blend Calc, Pixel Peeker, pptx-font-manager, simpleRTA, stagewash, Test Card, thumbnail-generator
The Rust crate ecosystem
predominantly MIT or Apache-2.0
the individual crate authors
Async runtimes, protocol codecs, serialisation and GUI toolkits. The exact set and versions for any build are in that repo's Cargo.lock, which is the authoritative list.
Cargo dependencies, resolved and pinned in Cargo.lock.
12 projects: caspar-AV, Dante BabelBox, Flock, Kestrel, openrcs, SRT Router, UnMapper, db-remote, openrcs-research, OpenStage, PineMarten, vertige-bridge
@companion-module/base
MIT
Bitfocus AS
The module API for Bitfocus Companion. A module is defined by this package's contract — actions, feedbacks, variables and presets are its types.
An npm dependency.
12 projects: Companion — animATEM, Companion — Atem Overseer, Companion — caspar-AV, Companion — flock, Companion module: Kestrel, Companion — PDF Presenter, Companion — Presentation Commander Client, Companion — Presentation Commander Server, Companion — RFutils, Companion — SimpleCue, Companion — srt-router, Companion — WebLinked
OpenFX image effect plug-in API
BSD-3-Clause
OpenFX and contributors to the OpenFX project
The plugin ABI for the DaVinci Resolve and Nuke side of the same effects, so one core renders through both hosts.
Vendored at external/openfx — a git submodule in resolume-ofx-bridge, a copy of the headers and Support library elsewhere.
11 projects: Asciify, Downpour, Flipbook, Idler, NESolume, Old Cathode, Orrery, Porthole, Resolume Luma Keyer, Resolume OFX Bridge, Tinsel
NDI SDK
NDI SDK Licence Agreement (proprietary)
Vizrt Group
NDI is the video transport most of this fleet's users already run. Compiling against the headers without shipping the runtime keeps the licence intact and still gives every build the backend.
Headers only, vendored so the backend compiles everywhere. The runtime is never redistributed — it is loaded with dlopen at run time if the user has installed it.
9 projects: Flock, Kestrel, oxbow, Presentation Commander — Server, SRT Router, UnMapper, WebLinked, OpenStage, PineMarten
Electron
MIT
OpenJS Foundation and Electron contributors
Ships one desktop app across macOS, Windows and Linux where the UI is the product and a bundled Chromium is an acceptable trade for that reach.
An npm dependency.
7 projects: animATEM, ATEM Fleet Admin, atem-scopes, MicWizard, PDF Presenter, Presentation Commander — Client, Presentation Commander — Server
Open Media Transport (libomt)
MIT
Open Media Transport Contributors
The open alternative to NDI, and MIT end to end — so unlike NDI it can be supported without a proprietary licence in the path.
Header vendored alongside the NDI headers; the library is loaded at run time.
4 projects: oxbow, SRT Router, WebLinked, PineMarten
JUCE 8
AGPLv3 or commercial (JUCE 8 licensing terms)
Raw Material Software Limited
The audio plugin and application framework — format wrappers, DSP primitives and the GUI toolkit that make one codebase build as VST3, AU and a standalone app.
Fetched at configure time by CMake FetchContent, pinned to tag 8.0.6. Not vendored in the repo.
4 projects: Contourtonist, MixerReturn, SimpleCue, Zero EQ
Tauri
MIT or Apache-2.0
The Tauri Programme within The Commons Conservancy
Puts a web front end on a native Rust core using the platform's own webview, so the binary stays small and the DSP stays in Rust.
A Cargo and npm dependency.
4 projects: av-launcher, LEQtion, simpleVIS, pptx-font-manager
stb_truetype
MIT or Public Domain (Unlicense), at your choice
Sean Barrett
Rasterises glyphs into the atlas the plugin samples. A whole font stack would be a large dependency for one job this header already does.
Single header vendored at external/stb/stb_truetype.h.
libretro API header
MIT
The RetroArch team
Defines the core ABI, which is what lets an emulator core be loaded and driven as a video source.
Single header vendored at external/libretro.h.
1 project: cartridge
Chromium Embedded Framework
BSD-3-Clause
Marshall A. Greenblatt, with portions copyright Google Inc.
The browser engine. WebLinked's entire premise is rendering a real web page to a video output, which means embedding a real browser.
Binary distribution vendored under third_party/cef/.
1 project: WebLinked
Spout
BSD-2-Clause
Lynn Jarvis
Shares a GPU texture with other Windows applications without a round trip through system memory.
Vendored under third_party/spout/.
1 project: WebLinked
Syphon Framework
BSD-3-Clause
Tom Butterworth (bangnoise) and Anton Marini (vade)
The macOS counterpart to Spout — same job, same reason.
Vendored under third_party/syphon/.
1 project: WebLinked
miniaudio
Public Domain (Unlicense) or MIT-0, at your choice
David Reid
In the tree rather than fetched because it is the only thing between the app and a sound card, and a build should not need the network on a locked-down show LAN.
Single header vendored at third_party/miniaudio/miniaudio.h, unmodified.
1 project: WebLinked
Astro
MIT
The Astro Technology Company
Builds this site to static HTML, so the pages carry no framework runtime to the reader.
An npm dependency.
1 project: the Stoatworks Labs website
The full transitive dependency set for any build is pinned in that repo's lockfile, which is the authoritative list. What is named here is the layers a reader would actually want to know about, not every package that has ever been resolved.
Work we checked ourselves against
No code was taken from any of these. They are how we knew we had it right, which is worth saying out loud.
NanoOcp
Christian Ahrens
GPL-3.0
AES70/OCA wire offsets and d&b object numbers were cross-checked against NanoOcp, alongside the public Crestron and Q-SYS integration modules. No code was taken and none could be — NanoOcp is GPL-3.0 and this is MIT. Facts about a wire protocol are not copyrightable, the implementation here is independent, and it stays MIT. Listed because checking your work against someone else's is worth saying out loud.
db-remote
Analog Way LiveCore documentation and a vendor simulator
The control protocol was recovered by reading Analog Way's own published documentation and validating against their simulator. No vendor code was used.
Shure Wireless Workbench and Sennheiser WSM file formats
Both formats were worked out from files the tools themselves export. No vendor code was used, and neither vendor was involved.
Inspirations
What these set out to be. No code, assets or binaries from any of them were used or examined — the debt is to the idea, and it is a real debt.
The arcade cabinet
Five games in the spirit of the early-eighties arcade floor. None is a clone of a specific title and no original code, ROM or artwork was used — the games are written from scratch and the names are our own. What is borrowed is the form: one screen, one rule, no explanation.
The Windows 95 and 98 screensavers
Microsoft
Eleven savers rebuilt as a Resolume generator — the flat ones that shipped with Windows and the OpenGL ones that arrived with Plus! and became stock in 98. No Microsoft code, assets or binaries were used or examined; every saver is a fresh implementation written to match remembered behaviour. The debt is to the originals and to whoever at Microsoft decided a locked screen should be worth watching.
Retro console video hardware
The raster, the palette, the attribute cells and the ways they failed, recreated from published descriptions of how the hardware behaved. No ROM, no BIOS and no emulator code is present — the plugin generates the artefacts rather than running the machine that caused them.
Analogue television
The composite signal path — subcarrier, comb filtering, the PAL delay line, shadow mask and halation — built from the published broadcast standards rather than from any existing implementation. The artefacts are consequences of modelling the signal path, not effects drawn to look like them.
Synthwave and the eighties arcade horizon
The perspective grid, the striped sun and the neon tube are a visual language many people built, from Atari's vector cabinets to decades of synthwave cover art. No specific work is copied; the palettes and the path maths are ours.
Standards and published specifications
Not attribution so much as provenance: what these implementations are measured against, and why a reading from one of them should agree with your other kit.
- LEQtion
- IEC 61672 sound level meter specification — Weightings, time constants and the LEQ integration the meter implements.
- atem-scopes
- ITU-R BT.601, BT.709 and BT.2020 — Colourimetry and studio-range anchors for the scopes.
- Contourtonist
- ISO 226 equal-loudness contours — The contours the plugin tracks.
- IEC 61672 frequency weightings — A- and C-weighting, implemented with matched-Z rather than bilinear so the high-frequency response stays inside tolerance.
- simpleVIS
- GDTF and MVR — The fixture and rig interchange formats read by the visualiser.
- Art-Net and sACN (ANSI E1.31) — The control protocols it listens on.
- Test Card
- SMPTE RP 219 — Colour bar layout and colours.
- ITU-R BT.709 — Luma coefficients and the Y'CbCr to RGB conversion the patterns are defined in.
By project
Every project with something to declare, and what it declares. Each public repo carries the same list as its own ATTRIBUTIONS.md.
| Project | Built on | Also |
|---|---|---|
| animATEM | Electron, React, The npm ecosystem | — |
| ArrayCAD private | React, The npm ecosystem | @node-projects/acad-ts |
| Asciify | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | — |
| Aspect Calc private | React, The npm ecosystem | — |
| ATEM Fleet Admin | Electron, React, The npm ecosystem | — |
| ATEM Overseer | The npm ecosystem | — |
| atem-scopes | Electron, React, The npm ecosystem | ITU-R BT.601, BT.709 and BT.2020 |
| av-launcher | Tauri, The npm ecosystem | — |
| Blend Calc private | React, The npm ecosystem | — |
| cartridge private | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, libretro API header | — |
| caspar-AV | The Rust crate ecosystem | — |
| Coinop | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | The arcade cabinet |
| Companion — animATEM | @companion-module/base, The npm ecosystem | — |
| Companion — Atem Overseer | @companion-module/base, The npm ecosystem | — |
| Companion — caspar-AV | @companion-module/base, The npm ecosystem | — |
| Companion — flock | @companion-module/base, The npm ecosystem | — |
| Companion — PDF Presenter | @companion-module/base, The npm ecosystem | — |
| Companion — Presentation Commander Client | @companion-module/base, The npm ecosystem | — |
| Companion — Presentation Commander Server | @companion-module/base, The npm ecosystem | — |
| Companion — RFutils | @companion-module/base, The npm ecosystem | — |
| Companion — SimpleCue | @companion-module/base, The npm ecosystem | — |
| Companion — srt-router | @companion-module/base, The npm ecosystem | — |
| Companion — WebLinked | @companion-module/base, The npm ecosystem | — |
| Companion module: Kestrel | @companion-module/base, The npm ecosystem | — |
| Contourtonist | JUCE 8 | ISO 226 equal-loudness contours, IEC 61672 frequency weightings |
| Dante BabelBox | The Rust crate ecosystem | network-audio-controller (netaudio-core) |
| db-remote private | The Rust crate ecosystem | NanoOcp |
| Downpour | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API, stb_truetype | Four public-domain works, via Project Gutenberg |
| Flipbook | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API, stb_truetype | — |
| Flock | NDI SDK, The Rust crate ecosystem | — |
| Idler | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | The Windows 95 and 98 screensavers |
| Kestrel | NDI SDK, The Rust crate ecosystem | — |
| latex-wysiwyg private | The npm ecosystem | — |
| LEQtion | Tauri, React, The npm ecosystem | IEC 61672 sound level meter specification |
| MicWizard | Electron, React, The npm ecosystem | — |
| MixerReturn | JUCE 8 | — |
| NESolume | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | Retro console video hardware |
| nib private | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | — |
| Old Cathode | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | Analogue television |
| openrcs | The Rust crate ecosystem | Analog Way LiveCore documentation and a vendor simulator |
| openrcs-research private | The Rust crate ecosystem | — |
| OpenStage private | NDI SDK, The Rust crate ecosystem | blackmagic-misc |
| Orrery | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | 2D signed distance functions |
| Outrun | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | Synthwave and the eighties arcade horizon |
| oxbow | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, NDI SDK, Open Media Transport (libomt) | — |
| PDF Presenter | Electron, React, The npm ecosystem | — |
| PineMarten private | NDI SDK, Open Media Transport (libomt), The Rust crate ecosystem | — |
| Pixel Peeker private | React, The npm ecosystem | — |
| Porthole | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | — |
| pptx-font-manager private | Tauri, React, The npm ecosystem | — |
| Presentation Commander — Client | Electron, React, The npm ecosystem | — |
| Presentation Commander — Server | NDI SDK, Electron, React, The npm ecosystem | — |
| Presentation Converter | The npm ecosystem | — |
| Resolume Luma Keyer | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | — |
| Resolume OFX Bridge | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | — |
| RFutils | The npm ecosystem | — |
| Scopes | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng | — |
| SimpleCue | JUCE 8 | — |
| simpleRTA private | React, The npm ecosystem | — |
| simpleVIS | Tauri, The npm ecosystem | GDTF and MVR, Art-Net and sACN (ANSI E1.31) |
| SRT Router | NDI SDK, Open Media Transport (libomt), The Rust crate ecosystem | — |
| stagewash private | React, The npm ecosystem | — |
| Test Card private | React, The npm ecosystem | SMPTE RP 219, ITU-R BT.709 |
| the Stoatworks Labs website private | Astro, The npm ecosystem | — |
| thumbnail-generator private | React, The npm ecosystem | — |
| Tinsel | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, OpenFX image effect plug-in API | — |
| UnMapper | NDI SDK, The Rust crate ecosystem | — |
| vertige-bridge private | The Rust crate ecosystem | — |
| WebLinked | Resolume FFGL SDK, GLEW — the OpenGL Extension Wrangler Library, libpng, Chromium Embedded Framework, Spout, Syphon Framework, miniaudio, NDI SDK, Open Media Transport (libomt) | — |
| WSM–WWB Bridge | — | Shure Wireless Workbench and Sennheiser WSM file formats |
| Zero EQ | JUCE 8 | — |
If this page has your work wrong
If something here is yours and the description is inaccurate, the licence is wrong, or you would simply rather not be listed — tell usor open an issue on the repo in question, and it will be fixed. That is not a formality; getting somebody else's credit wrong is worse than not crediting them at all.
See also: the infrastructure that makes this possible and the MIT licence in full.