dmxnet is an ArtNet-DMX-sender and receiver for nodejs, currently under heavy development!
- Send DMX-Data as ArtNet
- Use multiple senders with different Net, Subnet and Universe-Settings
- Receive ArtNet-Data
- Use multiple receivers with different Net, Subnet and Universe
- Receive ArtPoll and send ArtPollReply (dmxnet is found by other software, e.g. DMX-Workshop)
const Artnet = ;const opts =verbose: 1 //Verbosity, default 0oem: 0 //OEM Code from artisticlicense, default to dmxnet OEM.sName: "Text" // 17 char long node description, default to "dmxnet"lName: "Long description" // 63 char long node description, default to "dmxnet - OpenSource ArtNet Transceiver"// Create an Artnet server instanceconst server =verbose: 1sName: '';// Create a senderconst sender = artnetServer;// Set channels 1-512 to 100%sender;
dmxnet works with objects: You can create a new Sender or Receiver-instance at any time, each transmitting or receiving data for a single ArtNet-Universe.
Each combination of net, subnet and universe is possible.
dmxnet can propagate max. 255 Sender/Receiver-Objects to other nodes. This is a limitation based on the internal structure of ArtPollReply-Packages. You can of course use more Sender/Receiver-Objects, but they won't propagate trough ArtPoll.
Create new sender object:
const opts =ip: "127.0.0.1" //IP to send to, default 255.255.255.255subnet: 0 //Destination subnet, default 0universe: 0 //Destination universe, default 0net: 0 //Destination net, default 0port: 6454 //Destination UDP Port, default 6454base_refresh_interval: 1000 // Default interval for sending unchanged ArtDmxvar sender=dmxnet;
Sets channel (0-511) to value (0-255) and transmits the changed values .
Sets all channels between min and max (including these) to value and transmits the values.
Prepares channel (0-511) to value (0-255) without transmitting.
Change is transmitted with next
call, or the next periodically transmit. Useful for changing lots of channels at once/in parallel from device view.
Transmits a new ArtDMX Frame manually.
Resets all channels of this sender object to zero.
Please Note: dmxnet transmits a dmx-frame every 1000ms even if no channel has changed its value!
Create a new receiver-instance:
subnet: 0 //Destination subnet, default 0universe: 0 //Destination universe, default 0net: 0 //Destination net, default 0
Wait for a new frame:
The receiver is emits an "data"-event each time new values have arrived.
The current values are stored inside the
receiver.values-array for polling.
- Act as Controller (Sending ArtPoll, Receiving ArtPollReply)
- Maybe support sACN?
Please feel free to contribute!
Art-Net™ Designed by and Copyright Artistic Licence Holdings Ltd