Zeevonk
A modular lighting control system for modern DMX-based lighting setups.
⚠️ Warning
Zeevonk is currently in early development. APIs, features, and behavior may change frequently and without notice. It is not yet recommended for production use.
What is Zeevonk?
Zeevonk is a modular system for controlling lighting fixtures. It consists of a server and two types of client:
- Server: Manages clients, processes triggers and attribute updates, and sends DMX data.
- Processor Client: Calculates and sends fixture attribute values (like color, position, intensity) to the server.
- Controller Client: Sends triggers (such as button presses or fader moves) to the server.
Processor and controller clients could even be combined into a single client. This can be useful if your program is not supposed to be modular.
This project is the result of a deep rabbithole I went into, when creating Radiant. I realized I was writing the same DMX resolvers for GDTF files over and over again. Zeevonk is my way of consolidating all of my research into a hub for DMX lighting.
Some notable controllers:
- zv-ctrl-bmdse: A Black Magic Design Speed Editor controller client based on bmdse.
Run the Zeevonk server
You can install zeevonk as a binary (called zv) using the following command:
Use as a library
Features
The crate has two main features you can enable:
server: Start and configure the server from your own code instead of the CLI.
client: Create a new client to communicate with the server.
Example: Starting the Server
use Server;
use ProjectFile;
// Create a project file.
let project_file = default;
// Create and start the server.
let server = new.unwrap;
server.start;
Example: Processor Client
use Attribute;
use Client;
use Identifier;
use ;
use AttributeValues;
async
Example: Controller Client
use Client;
use Identifier;
use ;
async
For more details, see the documentation for each module in the crate.
Licensing
This project is dual-licensed under:
- MIT License
- Apache License, Version 2.0
You may choose either license to govern your use of this project. See the LICENSE-MIT and LICENSE-APACHE files for details.