Note: This is a work in progress and some documentation and features may be missing. Give the repo a star ⭐ and watch it 👁️ to keep up with development!
The Canvas node in Audulus 4 uses Lua to draw text and graphics. It works with an implementation of vger.
In the Canvas node, you are given several built-in functions to draw lines, rectangles, circles, and text.
This library extends these functions to help you easily and quickly craft custom visualizers and graphical user interfaces (GUIs) with just a few lines of code. The library is designed in such a way that you do not need to know (hardly) anything about programming in order to use it.
The goal of this library is to provide everything from a few small quality-of-life upgrades for simple tasks like drawing primitive shapes and creating buttons to an drop-in SVG parser and even a full-blown 3D engine.
If you're interested in what features are coming, check out the roadmap.
If you have a feature request or found a bug, please open an issue for it. You can also ask questions, report bugs, or request features for this project on the Audulus Discord in the Lua channel.
As this project is in the very early stages, I want to really solidify the library's conventions before accepting pull requests.
If you want to follow the development of this project more closely, read my devlog Declarative Digital Instrument GUIs with Lua in Audulus.
The quickstart guide is written for people with little to no experience programming. If you just want to experiment a little or figure out how to add a custom button to your module, start here.
If you want to learn how to use every aspect of the library, these tutorials will explain all of its features step-by-step.
Each tutorial is self-contained, so you don't need to read them in order. That said, if you're an absolute beginner, make sure you read the Introduction to Functions guide.
The API Reference is where you can read up-to-date documentation on every function and feature of the library.