Skip to content

DMX.NET is a compact library that makes it easy to communicate with your USB to DMX512 interfaces.

License

Notifications You must be signed in to change notification settings

wberdowski/DMX.NET

Repository files navigation

DMX.NET

Nuget GitHub Workflow Status GitHub

DMX.NET is a compact library that makes it easy to communicate with your USB to DMX512 interfaces.

! WARNING ! Currently, the library is targeting the x86 platform mainly due to the lack of a 64-bit uDMX driver.

NuGet package

https://www.nuget.org/packages/DMX.NET

Usage

Interraction with the library is mostly done through the ControllerManager. Additionally there is a build-in DmxTimer, which is used to synchronize multiple controllers together.

You can learn on real world examples by exploring projects in the Samples directory.

For the impatient here's the minimal code to get things working (you can find the whole project here):

var timer = new DmxTimer();
var controller = new OpenDmxController(timer);

// Make sure your Open DMX interface is connected!
controller.Open(0);

// Set values of the channel range (1-4)
controller.SetChannelRange(1, 255, 255, 255, 255);

// Don't forget to start the timer.
timer.Start();

// Keep console open
Console.ReadKey();

// Cleanup, ensure all channels are set to 0
timer.Dispose();
controller.Dispose();

Status

I'm a full-time programmer and maintain this project in my free time. It's far from finished, but I'm doing my best to deliver regular updates. Additional help is very much wanted, mainly in terms of adding support for more controller modules. If you're interested in contributing to this project, please see Contributing section below.

Supported interfaces

Interface Support status
Open DMX Full
uDMX Experimental

Roadmap

  • Provide required driver files
  • Make library 64-bit
  • Improve handling of USB disconnecting and reconnecting
  • Art-Net support

Contributing

Contributing to the project is very desireable. I mostly encourage creating controller modules for other vendors. I physically don't have access to more USB interfaces, which makes debugging impossible.

You learn on how to contribute to this project here.

License

This project is under MIT license. You can find it in the LICENSE file.

About

DMX.NET is a compact library that makes it easy to communicate with your USB to DMX512 interfaces.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Languages