# ArtNet input/output plugin

## Introduction

QLC+ supports the ArtNet protocol through an input/output plugin that receives and transmits packets on the network.
No extra requirements are needed, since QLC+ has a native implementation of the ArtNet protocol that works on Linux, Windows and macOS systems.
The ArtNet plugin can send and receive packets from multiple network cards, virtual addresses, the loopback device (127.0.0.1) and multiple universes per network interface.
By default, ArtNet packets are transmitted as UDP, using the default port 6454 and the broadcast address of the selected inteface (e.g. 192.168.0.255). When using the loopback device packets are always transmitted using address 127.0.0.1.
When transmitting multiple universes on the same interface, the packets will be sent by default with an ArtNet Universe ID equal to the QLC+ universe number minus 1.
For example:
QLC+ Universe 1 --> ArtNet Universe 0
QLC+ Universe 2 --> ArtNet Universe 1
...
QLC+ Universe 8 --> ArtNet Universe 7
This choice is due to some facts:
1- The first valid ArtNet universe is 0 and not 1
2- The first universe accepted by commercial ArtNet-DMX devices like eDMX and ODE is 0, so to have QLC+ to work out of the box, the first ArtNet universe must be 0.
If the above settings don't meet the requirements of your network, please read the following chapter.

## Configuration

When clicking on the configuration button, a small dialog will be displayed, showing 2 tabs: the Universes Configuration and the Nodes Tree.
Universes Configuration: after a QLC+ universe is patched with an ArtNet input or output, an entry will be displayed in this list, allowing to manually configure the desired parameters to be used by the ArtNet plugin.
Input lines do not have particular parameters, while an output line can be configured wth the following:

- IP Address: This is the destination IP address where the ArtNet plugin will transmit packets to. By default a broadcast address is used (so ending with .255) and by setting this in the 1-254 range, ArtNet will transmit a QLC+ universe in unicast mode. If your ArtNet network uses a simple hub, the output IP address is irrelevant, as broadcast or unicast doesn't make any difference. However, if you use a network switch, unicast is fundamental to balance the network congestion, as every port of the switch is associated to a network IP and will receive only the packets with its destination IP.
  Note: Do not set the output IP address with the same IP address of your transmitting node (e.g. the PC where QLC+ is running) as it is just wrong and can cause a network loop. If you need to communicate with an ArtNet node running in the same machine where QLC+ is running, use the loopback device instead (127.0.0.1).
- ArtNet Universe: This is the ArtNet universe that will be actually written in every packet transmitted. By setting this parameter, you can use any QLC+ universe to transmit to the desired ArtNet universe.
- Transmission Mode: Here you can select if QLC+ should transmit full or partial universes.
  'Full' means that all the 512 DMX channels of a universe are transmitted at the speed rate of the QLC+ internal clock (50Hz), producing a fixed bitrate of about 200Kbit/s.
  'Partial', instead, means that QLC+ will transmit only the DMX channel actually used in a universe, starting from channel 1. For example if you raise channel 3 of a fixture with address 50, the ArtNet plugin will transmit only 53 DMX channels, thus limiting the trasnmission bitrate. Use this setting only if the receiving ArtNet node supports partial transmission.

Settings that are different from the plugin defaults, will be stored in your QLC+ workspace, to increase the portability of a project across different platforms, such as different operating systems or a PC and a Raspberry Pi.
Nodes Tree: This tab displays the ArtNet nodes discovered on the network, grouped by network interface.
QLC+ will always appear in this list as a node participating to the network.
ArtNet nodes are added to this list if they support the ArtPoll/ArtPollReply message, otherwise they won't appear. This doesn't mean you will not able to communicate with them.

## DMXKing eDMX and ENTTEC ODE

If you own one of these devices, they both have configuration tools that might come handy when working with QLC+. With them you can set several parameters to match the best configuration to input/output data from/to QLC+.
For example if you want QLC+ universe 3 to output data on the first port of a eDMX, you need to use the tool below to change the device universe address to 2.
Here the links to download the tools:
DMXKing eDMX Configuration tool
ENTTEC Node Management Utility

## Compatibility

QLC+ has been tested with the following ArtNet softwares/devices:

- DMXking eDMX1 TX - 1 Output device
- DMXking eDMX2 TX - 2 Outputs device
- Enttec Open DMX Ethernet (ODE) - Input/Output device
- OLA - Open Lighting Architecture - Input/Output software node
- ArtNet Controller LITE - Input controller for Android
- Art-Net Controller LITE - Input controller for Android
- Modul8
- Jinx! - LED Matrix Control