Skip to content

kryops/vlight

Repository files navigation

vLight

Simple web-based DMX lights controller.

🚧 This project is still Work in Progress! 🛠️

It has been used for real events, but it's not battle-tested yet. Use at your own risk.

Check out the TODO list for the roadmap of planned features.

Feel free to fork and experiment - PRs welcome.

🎵 Also check out this project's companion app remote-mixer for remote-controlling sound mixers.

Features

  • 📱 Responsive and mobile-friendly
  • 🚀 Lightweight and performant
  • 🕸️ Connect multiple clients
  • 🌓 Light and dark mode
  • 📄 Configurable Dynamic Pages

Controls

  • 🎚 DMX Channels
  • 💡 Fixtures
  • ꙮ Fixture Groups
  • 🖼 Memories
  • 🎞 Live Chases
  • 🗺 Map Overview
  • ✨ Universe Overview
  • 🌎 Global Master / Blackout

Inputs

  • 🖱 Mouse
  • 📱 Touch
  • ⌨️ Keyboard (partial)
  • (Planned: 🕹 Physical input devices)

Supported DMX Interfaces

Getting Started

Using a Docker container

You can build and run this project through Docker (in a Linux container):

> ./docker-build.sh
> ./docker-run.sh

Normal installation

Software needed:

Build tools for native Node.js addons are also needed depending on your platform.

Install and setup:

> yarn

Start:

> yarn start

Windows Notes

The automatic installation of the Visual Studio Build tools does not include all features that are necessary to compile this project's addons. Find them under "Control Panel > Software / Apps & Features" and change the installation to contain the following features:

  • Visual C++ ATL for x86 and x64

Configuration

The base configuration is contained in the config/vlight-config.js file. It should offer documentation and auto-completion through TypeScript - otherwise, check out the source.

To switch projects, change the project setting. If you want to clone an existing project, just copy its folder inside the config directory.

The rest of the configuration is available in the UI:

  • Fixture types are persisted globally
  • All other entities and settings are persisted on a per-project basis

Development

Start in development mode with hot reloading:

> yarn dev

NOTE: Due to microsoft/TypeScript#32651, the backend won't rebuild automatically if there are TypeScript errors.

Protocols

vLight Client Protocol via REST/WebSocket

vLight Binary Protocol via TCP/UDP

About

Simple web-based DMX lights controller.

Topics

Resources

License

Stars

Watchers

Forks