A powerful GDTF‑Share fixture browser built into grandMA3 — search the entire library, inspect a fixture's channels and physical layout, compare modes side‑by‑side, and import the right one — all without leaving the console.
More than a downloader: it's a better way to browse GDTF fixtures than either the built‑in MA3 import dialog or the gdtf‑share.com website. Before you commit to an import you can read a fixture's full DMX channel list, see its geometry and instance (subfixture) layout, and put 2–4 modes side‑by‑side to pick exactly the right one — inspection the built‑in browser doesn't offer, brought right into your show in a way the online tool can't.
This project is early, unstable, work‑in‑progress software, and it was built almost entirely by "vibe coding" with AI assistance rather than careful hand engineering. That means:
- Do not expect production quality or best‑practice code. Expect rough edges, bugs, and half‑finished corners.
- No guarantees. It may misbehave, fail to import, or break on a firmware/version you're not expecting.
- Test before you rely on it. Try it on a scratch show first, never on a live production showfile you can't afford to lose.
It's shared in the hope it's useful and that the community can help improve it — not as a polished, dependable tool. You've been warned. 🙂
From inside grandMA3 you can:
- 🔍 Search & browse the entire GDTF‑Share library — Manufacturer → Fixture → Revision — with DMX modes, channel counts, descriptions, ratings, and metadata shown on demand.
- ⭐ Filter by All / Favorites / Mine, and star fixtures you use often.
- ⬇️ Download a chosen GDTF straight to the correct MA3 location.
- 🧩 Import it into the showfile as a fixture type (you still assign count / mode / address / universe yourself — the patch is never auto‑modified).
- 🔬 Inspect fixture anatomy — Channels plus Module / Instance managers parsed from the GDTF.
- ⚖️ Compare 2–4 modes side by side (channels, modules, instances).
Everything runs inside the console — no companion server, no browser, no manual file shuffling.
- grandMA3 onPC (macOS or Windows) or console — developed against firmware 2.4.2.2 / 2.3.2.0.
- A GDTF‑Share account (free) to download files. Browsing the cached index works without one.
- HTTPS transport uses the tool already on your platform — curl on onPC, busybox wget + openssl on the console. Nothing extra to install.
-
Download / clone this repository.
-
Copy the plugin folder into your grandMA3 plugin DataPool:
- macOS:
~/MALightingTechnology/gma3_library/datapools/plugins/GDTFDownloader/ - Windows:
%PROGRAMDATA%\MALightingTechnology\gma3_library\datapools\plugins\GDTFDownloader\
Keep the
lib/subfolder structure intact — the manifest references those paths. - macOS:
-
In MA3, the plugin is auto‑discovered on the next show open (or import it from the Plugins pool), then run it.
A small deploy helper for onPC development lives in
scripts/deploy.py(copies the tree into your local plugin DataPool).
- Run the plugin — log in with your GDTF‑Share credentials when prompted (the password field is masked; only a short‑lived session token is stored in the showfile, never your password).
- Browse or search for a fixture, pick a revision and mode.
- Download → Import to add it to your show as a fixture type.
- Patch it the normal MA3 way.
If this saved you a trip to the browser, consider chipping in — it genuinely helps:
You can also reach the donation QR any time from About → Donate inside the plugin (scan it with your phone).
Contributions are very welcome — bug reports, fixes, and improvements all help, especially given the "vibe coded" origins. See CONTRIBUTING.md for how to build, test, and submit changes.
- grandMA3‑bundled Lua 5.4, multi‑file ComponentLua plugin (global‑namespace pattern).
- All HTTPS goes through one transport module via
io.popen(curl on onPC, busybox wget/openssl on the console) — no LuaSec, no bundled binaries. - JSON via the firmware
require("json"); pure‑Lua unzip for GDTF parsing. - QR codes for the donation overlay are generated by a small pure‑Lua QR encoder (
lib/qrcode.lua). - Host‑side unit tests run under a Lua test runner (
tests/run_all.lua).
Bundled under lib/vendor/ (each retains its own license):
- rxi/json.lua — MIT © rxi
- zzlib (
zzlib.lua,inflate-bwo.lua) — © François Galea, WTFPL
These licenses are compatible with this project's GPLv3.
Licensed under the GNU General Public License v3.0 — see LICENSE.
You are free to use, study, share, and modify it; any distributed derivative must also remain open‑source under the GPL.
Not affiliated with MA Lighting or GDTF‑Share. "grandMA3" is a trademark of MA Lighting Technology GmbH. Use at your own risk.
