User Tools

Site Tools


TCP Connectors

For some devices not direct accessible by V-Control, we provide TCP connectors. A TCP connector is a piece of software that controls the device native and provides a network interface to connect to other software products such as V-Control.

The TCP connector does all the communication with a device internally and provides a simple control protocol via network to communicate with V-Control. This also has the advantage that devices not available via network now network controllable. The V-Control connector is running on a computer where the device is connected to (typically via USB). This can be the same machine where V-Control is running, but doesn't have to.

So if you need to control a midi device for example, and this device is far away from your V-Control machine, then you can use an additional computer with a MIDI interface and the V-Control Connector software installed near the MIDI device. V-Control then opens a TCP connection to this machine and from V-Controls point of view this is the MIDI interface.


There is no native support for USB MIDI devices in V-Control, but we have a nice work workaround. The TCP MIDI Connector interfaces between V-Control and your USB MIDI Device.

Note: This also works with rtpMIDI devices if a rtpMIDI driver is installed on your system.

To connect to the TCP MIDI Connector create a channel with the following specifications:

Channel Type: TCP Client

Port: 10002

IP Addres: IP Address of the system with the TCP MIDI Connector (could be if on the same machine then V-Control)

The TCP MIDI Connector is a Java software. On Windows, we provide a package with Java included, this is the reason why the zip file is relatively big. On other platforms you must install Java first.

Launch MIDITCP. In the left dropdown box, select the MIDI input. Use the right box for MIDI output. Once a MIDI Input and Output is selected, the configuration is finished. The software remembers the Input and Output and will use these interfaces next time it starts.

On the V-Control side, now use the TCP_MIDI_Connector_v4 driver.

The driver has a couple of device variables that can be used to fire events if a MIDI message is received.


V-Control has a very basic native Art-Net Support (Driver Art-Net_v4). For more complex Art-Net / DMX Commands, we have the TCP Art-Net Connector.

As other V-Control Connectors, the TCP Art-Net Connector is a Software that can run on the same machie as V-Control, but also on a machine somewhere in the network. The last option might be useful if you have to control a huge number of Art-Net universes and channels.

A maximum of 256 universes is supported.

TCP Art-Net Connector runs on Windows 64 Bit, Linux 64 Bit and Raspberry Pi (Model 2 and 3).

Main GUI

The left list shows the output values of the currently selected output universe. To change the universe, change the value in the Out Universe textbox. To change a value, select the channel in the channel(s) column and use the slider. Alternatively click in the value column to change it.

Double click the Channel number to enter a name here. Naming DMX channels is very helpful during programming to remember what a channel is used for.

The DMX values of the currently selected input universe are shown in the right listbox. Here you can select the universe by the In Universe textbox.

The listbox in the middle shows the avaiable scenes. A scene is a complete set of DMX values and can contain up to 256 universes. Scenes can be created from output or input values.

The Maximum Number of Universes reduces the bandwidth on the notwork output. Here you can select how many of the 256 universes you will use. It starts always by 0, so if 10 is entered here, universes 0-9 can be used.


If the system that is running the TCP Art-Net Connector has more then one network interface, it is a good idea to use different interfaces for Art-Net and V-Control communication. Select the V-Control inteface in the V-ontrol Interface drop down box. The Art-Net interface is selected in the Art-Net Interface drop down box. ATTENTION: because the network interface is bound to a specific IP address, (localhost) will not work as V-Control channel, even if the TCP Art-Net connector is running locally on the V-Control machine.

The Send only changed Universes checkbox works as follows: If any of the universes that have a valid IP address have changed its content (DMX values), then these universes will be sent. In this case, the TCP Art-Net Connector sends only if something has changed, and only those universes that have changes in. If nothing has changed nothing wil be sent. For most modern Art-Net devices this is OK, however, if the Art-Net devices you are controling needs permanent DMX values, then uncheck this.

The Send Rate (ms) determines the update frequency of DMX values. The default is 40 ms, which equals 25 frames per second.

The Show DMX In and Out Values checkbox determines if the DMX values will be shown in the main GUI. Because of the underlying XOJO Framework, GUI updates are CPU expensive. On Raspberry Pi, this should only be checked for testing and maintenance.

Art-Net target Nodes

This list is important. For each universe, we need a valid IP address here. If a universe has no IP address assigned, it will not send or receive anything. To reduce the bandwith on your network you should use unicast here if possible (universe 1 in the screenshot above makes use of it). For broadcasting, use the broadcast address of your network (universe 0 in the screenshot above). Multiple Art-Net Targets can have the same IP Address. If you have an Art-Net node with 4 universes, then all these 4 universes will have the same IP address.

Monitor Channels

TCP Art-Net Connector can send notifications to V-Control if a DMX value has changd. This can be used to trigger V-Control by Art-Net. To reduce the bandwidth and processing load for V-Control to the minimum that is needed, you have to select the DMX channels for monitoring. Enter the universe of the monitor channels in the Universe textbox, and then the Start Channel and End Channel. Finally click the Add Monitor Channels button. To delete Monitor Channels, select them in the listbox and click the Delete selected Channels button.

New Scene from Output

To create a scene from output, select a universe in the Out Universe: textfield. Then select the channels you want to change in the left listbox. Make sure to click the channel number, not the value. Now move the slider to the position you need. This procedure is good if you want to set more then one channel to the same value. If you need individual DMX values for the channels then you can enter the value directly by clicking on the value. Alternativeliy you canm select other channels by selecting then and use the slider.

If more then one universe is involved in the scene, then change the universe and proceed like you did before. If all channels of all universes are set, click the New Scene from Output button. A new scene is added to the list. By default, the scene name is the same as the scene ID. Change the scene name by Double clicking it and enter a meaningful name.

The fade Time for a scene is entered by double clicking the Time column. Enter here the time in ms.

New Scene from Input

Creating scenes from Output will not work good on a complex DMX show. For that reason, TCP Art-Net Connector can create scenes from input. In this case you capture the output of a light controller / desk. Press the New Scene from Input button to create a new scene. The scene captures all values of all universes that are send to the TCP Art-Net connector.

Use with V-Control

To use TCP ARt-Net Connector we need a TCP channel for comunication. ATTENTION: because the network interface is bound to a specific IP address, (localhost) will not work as V-Control channel, even if the TCP Art-Net connector is running locally on the V-Control machine. You allways need to enter the real IP address.

The Device has 512 Device Variables, one for each DMX channel. If the TCP Art-Net connector detects a value change on one of the selcted Monitor Channels, the Device Variables for those Channels are updated and can be used as Event Trigger.

The SetChannels command is used to set some DMX channels to a new value. Select the Universe in the Universe field. Enter the DMX channels involved in the command as comma separated list (csv) in the Channels (csv) field. Then enter a DMX value for each channel, also as csv list. The Fade Time determines the duration that is used to fade these channels from their current value to the final value.

The Play Scene command uses a drop down box to select a scene that is available in the TCP Art-Net Connector. The available scenes are updated automaticallyvery 3 seconds by a monitor command.

Play Scene2 does the same then Play Scene, the difference is that you have to enter the scene name in a textfield.

Elgato Stream Deck Connector

The TCP_StreamDeckConnector integrates Elgato Stream Deck in V-Control. It is designed to work with the original Stream Deck Software from Elgato. To use the TCP_StreamDeckConnector you need to install the original Software from Elgato's website. Third party software might work as well but is not tested so far.

With the TCP_StreamDeckConnector you can call tasks and control the Playlist. All you need is to setup a launcher, point to the TCP_StreamDeckConnector's exe file and set some arguments to lauch it.

Prepare V-Control

V-Control needs to be in Remote Mode. See Options TCP Remote for details. The default TCP Port is 10101. Check the Enabe TCP Remote Service Checkbox.

Prepare TCP_StreamDecConnector

TCP_StreamDeckConnector has no visible parts. It's only job is to connect to V-Control, send a command and quit. For that reason, you need to configure it by it's ini file. The ini file is very simple and has only two entrys.

Port=10101 Address=

If TCP_StreamDeckConnector, Elgato Steram Deck Software and V-Control are running on the same computer, and V-Control uses the default TCP Remote Port, then there is nothing to configure. In any other case change the Port and / or Address. The Address must be the V-Control Address, the Port must be the Remote Port configured in V-Control.

Prepare Elgato Stream Deck Software

After installing, the Steram Deck software presents an empty profile.

Now add a new launcher. In this example we want to call a task that is recalling a preset in a E2 for example. So we need a task in V-Control that is doing this. Let's assume this task is named “Preset 1” (very inventive), and we want to label the button as “PST 1”

Drag the launcher to a button field and enter the button Title. Now click the three dots in the App/File field and select TCP_StreamDeckConnector.exe. Click in the text field and move the cursor to the end of the filepath. V-Control needs two parameters, telling it what to do. The first parameter is the →run parameter, telling V-Control that a task should run now. The second parameter determines the task itself. Here is the complete entry:

C:\TCP_StreamDeckConnector\TCP_StreamDeckConnector.exe ->run->Preset 1

The second type of commands are Playlist commands. These commands are used to move in the Playlist up and down and fire a task from the Playlist. The method is the same as running tasks. Add a launcher and select TCP_StreamDeckConnector.exe. The first parameter is →Playlist, the second one can be Up, Down or Fire. Here are the examples:

C:\TCP_StreamDeckConnector\TCP_StreamDeckConnector.exe ->Playlist->up
C:\TCP_StreamDeckConnector\TCP_StreamDeckConnector.exe ->Playlist->down
C:\TCP_StreamDeckConnector\TCP_StreamDeckConnector.exe ->Playlist->Fire

You can also use the TCP_StreamDeckConnector only for the Playlist Commands, and for simple Task recalling use Hotkeys as described in the Simple GUI section.

tcp_connectors.txt · Last modified: 2020/09/24 19:03 (external edit)