Skip to content

kinglevel/GDTFDownloaderMA3

Repository files navigation

GDTF Downloader MA3

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.

GDTF Downloader MA3 — search, inspect a fixture's channels and layout, compare modes, and import — all inside grandMA3


⚠️ Alpha — and fully "vibe coded"

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. 🙂


What it does

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.

Requirements

  • 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.

Install

  1. Download / clone this repository.

  2. 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.

  3. 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).

Usage

  1. 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).
  2. Browse or search for a fixture, pick a revision and mode.
  3. Download → Import to add it to your show as a fixture type.
  4. Patch it the normal MA3 way.

Support this project 💛

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).

Contributing

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.

How it's built

  • 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).

Third‑party code

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.

License

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.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors