V-Control Extras is a collection of programs that are commercial tools. Without license, all of them run in Demo Mode, which means that the software is fully operational, but terminates every 30 minutes.
The software license is bound to a drive. If you want to use the software only on one computer, you can use the computer's hard drive. To use the software on different computers, use an inexpensive USB thumb drive to bind the license. To purchase a license, connect a USB drive to your computer (skip this if you want to use your hard drive). Then select File → Request License in the main menu.
Click the Get Drives button to get a list of all connected drives on your system. Then select the drive you want to bind the license to in the drop down box. If you want to use the software on a single computer you can select the computers hard drive ( for example in a fixed installation ). Otherwise select the USB drive. Now click the Create License Request button.
copy the text in the Key field and send us the key with the purchasing process in our shop.You can use the Order Notes field for that. Alternatively you can send us a mail with the key.
V-Control Designer is software that is used to create Graphical (touch) User Interfaces for V‑Control. It communicates with the Remote Panel Server via TCP, and up to 5 V‑Control Designer instances can have simultaneous access to a Remote Panel Server. The Remote Panel Server has two connections to V-Control Devices, the RemotePanelReceiver and the RemotePanelSender.
Since the Remote Panel Server, V-Control Designer and V-Control communicate via TCP, all applications can run on different computers or the same.
While V‑Control and the Remote Panel Server is multi-platform software (Windows, MAC OSX and Linux) V‑Control Designer is Windows only at the moment. Nevertheless, V‑Control Designer can operate with Remote Panel Server operating on a Linux or MAC OS and Windows.
Unzip the downloaded file and copy it to a directory with users write permissions. Then launch the exe file.
Unzip the downloaded file and copy it to a directory with users write permissions. Then run vcredist_msvc2015_x64.exe that is located in the V-Control Designer directory. Then launch the exe file.
There is no direct communication between V-Control and V-Control Designer. The Remote Panel Server works as intermediary between the two programs.
The Remote Panel Server opens 3 server ports. The Display Server Port is used by V-Control Designer (up to 5 at the same time). V-Control Sender Port and V-Control Receiver Port are used by V-Control devices.
V-Control needs two new devices, The RemoteScreenSender and RemoteScreenReceiver. Create TCP-Client channels with the IP Address of the Remote Panel Server and the ports for Sender and Receiver.
To interact with the V-Control Designer widgets, (buttons, labels, sliders etc.) a concept of join numbers is used. Join numbers define a connection to / from a widget. There are three different types of join numbers:
Join numbers for each type can be between 1 and 999. So you have 999 digital joins, 999 integer joins and 999 string joins. All V-Control Designers connected to one Remote Panel Server share these join numbers. So if you have more then one Designer connected to the Remote Panel Server, and they show different GUI’s (Graphical User Interface), take care that the join numbers don’t overlap.
But in some cases it can be useful to share some join numbers on different GUI’s. If you have information that is needed on all displays, then you can use a single string join number and have labels on all GUI’s with this number. Then the information appears everywhere.
Below there is a button with some of its properties. Notice the second one, Digital Join. Because a button can only have the state On or Off, the digital Join represent its state.
If the button is pressed, it sends a message with its type (Digital in this case), join number and 1 as value. If the button is released it sends the same message but 0 as value.
In V-Control, there is a device RemoteScreenReceiver. Per default, this device has device variables D001..D100 for digital joins, I001-I100 for integer joins and S001..S100 for string joins. If more join numbers needed add them in the Device Editor
If V-Control Designer sends a message with a join number and a value, then the RemoteScreenReceiver updates a device variable (D013 in this example). This generates an event, and we can use this event to run a task.
A detailed description how events work in V-Control is at Events
Lets Do the other way. Below is a label with the string String Join Caption 1.
We can now use the device RemoteScreenSender to send a message to this join number. The content of this message will be shown in the label.
Maybe you notice that the label has additional string joins. String Join Back Color, String Join Border Color and String Join Text Color can receive messages to change the corresponding colors.
The RemoteScreenSender device has commands to send messages to the Remote Panel Server
The command SendString send as message to a string join, in this case join number 1 which we used for the caption join of the label. If we run this command, the label changes its caption.
More Information about RemoteScreenReceiver and RemoteScreenSender can be found at Device Drivers.
In large projects it is easy to lose track of the join numbers. For that reason, V-Control can help managing join numbers. In V-Control, click the Join List tool button.
This list is used to make notes what a join number is used for. If you have a button with join number 1, and the RemoteScreenReceivers device variable D001 change event is used to trigger a task that turns on a projector, edit the row with D001 in the following way:
It is good practice to give the widgets meaningful names. The task that handles the change event has the same name with prefixed “on”. Use the comment column for further useful information. Because the list could be very long, the Search field helps to find a row of interest. Anything typed in here that matches any row content works as a filter. Only rows that match the search field content are shown.
At the bottom of the Join List, the Create Default List button creates a default list of join numbers (D001..D100, I001..I100 and S001..S100). If more join numbers are needed enter a new one in the Join Number field. The format is D101 for a new digital join number 101. I221 creates an integer join with number 221 and S123 a new string join with number 123. Click the Add Row button to insert the new join number.
The Main Window is divided into three parts:
Click the Run menu item to switch to run mode.
Display Server IP: To establish a connection between V‑Control Designer and Remote Panel Server, you need to set up the TCP connection. Display Server IP contains the IP Address of the Remote Panel Server. If both, Remote Panel Server and V‑Control Designer running on the same system, this should be localhost (127.0.0.1). In other cases the use the real address.
Port: The TCP port that is used by Remote Panel Server to connect to Displays (Display Server Port).
Full Screen: If checked, V‑Control Designer will cover the whole screen if switched to Run mode. There will be no window decoration. To exit the run mode if full screen view, press ESC.
H Grid, V Grid: In Edit Mode, the user can display a grid that helps to position and align the widgets. H Grid and V Grid determine the distance between the grid lines.
Grid Color: Determines the color of the grid.
Show Grid: If checked, the grid is shown
Magnetic Grid: If checked, widgets will allign to the grid if you change their position by dragging them.
H Size, V Size: Determines the size of all pages in a single project. Usually this should match the Display size if you want to run in Full Screen mode.
Add Page, Delete Page V‑Control Designer can use multiple pages within one project. Here you can add new ones or delete existing ones.
Main Menu File → Settings
Default Project Press the Select button to choose a project that is loaded at startup.
Autostart Default Project If a valid project is loaded by default, enabling this check box will initiate run mode at startup.
A V‑Control Designer project consist of one or more pages. A page act as container for widgets and can use the entire screen in run mode if Full Screen is selected.
To add or delete pages switch to Project Settings.
To access the page properties select the Inspector and click on an empty area in the page. Then you can change the page Name and Back Color. The name has to be unique.
Button properties are:
Name: The name of the widget. Try to use meaningful names, this will help in complex projects to keep the overview. Edit Items: Opens an editor to edit the items in the combo box Integer Join: The join number to select an item. Back Color: The back color of the label. Color values are in the format AA,RR,GG,BB. AA = alpha (00..FF), 00 means transparent, FF full visible, RR = red (00..FF), GG= green (00..FF) and BB = blue (00..FF). All Color values are two digit hex numbers. Border Color: The border color of the label Text Color: The Text color of the label. Top, Left, Width, Height: Position and size of the button Z: The Z-Order of the button. The higher this value, the more on top the widget is displayed if overlapping with other widgets. Font: The font of the Caption Size: Font size of the caption Bold: Style of the Caption
The image properties of the slider allow custom sliders. It depends only on the graphical skills how they look.
The Ellipse is often used a background for other widgets to visualize a function group.
The Rectangle is often used a background for other widgets to visualize a function group.
The RemoteScreenSender is used to send commands and / or information to a V-Control Designer instance. V-Control Designer elements (buttons, sliders, labels etc.) are referenced by join numbers. The RemoteScreenSender can send simple messages and device variables.
To send a device variable, the RemoteScreenSender needs to know which device and which variable. To get a list of all available devices, the RefreshDevices command is used. Switch to Run mode and press the Run Cmd button if the RefreshDevices command is selected. Nothing happens for now, but next select the RefreshDeviceVars command. The drop down box DeviceName now holds a list of all devices in the current project.
The RefreshDevices command has to be executed only once, or if devices were added or deleted from the current project. The list is stored with the project file.
Next we need to get the device variables for a selected device. Select the RefreshDeviceVars command an select a device. then switch to Run mode and push the Run Cmd button.
Again nothing seems to happen. But now select the SendDeviceVar command.
The DeviceName parameter is preselected with the device chossen with the RefreshDeviceVars command. Now select a device variable in the DeviceVar parameter box.
Next step is to choose to which join number in which format the content of the device variable is send.
One may wonder why we choose a string join number here. If we want to show the lamp hours of a projector, we usually use a label to show the information. In this case we have a label with the string join number 6 for caption. If we send this as integer, we need a widget with an integer join such as slider or progress bar.
Another way to send messages to a V-Control Designer instance is to use the SendDigital, SendInteger and SendString commands.
If used in Scrips, we can process the data that is send.
In the example above we want to send the Temperature value of a weather station to a progress bar. But the Temperature comes in a format such as “20,5”. If multiplied by 10, the result is 205, which is an integer value. Imagine we have a progress bar with minimum value -300 and maximum 500, then it can now show Temperatures from -30 to 50°C.
Another method to update the user variables of the RemoteScreenReceiver is to send a Get message to V-Control Designer. This is done by the GetDigital, GetInteger and GetString command. If one of these commands is sent from the RemoteScreenSender, the Designer send a message to the RemoteScreenReceiver that updates the device variable. If the variable changes, an event is fired.
The RemoteScreenReceiver does not have any commands. By default, it has the device variables D001..D100, I001..I100 and S001..S100. The RemoteScreenReceiver is only used to generate events on a variable change. How to create events is described in the Events chapter.
The System device is used to provide Time and Date information.
It has no commands and does not need a channel, because all the communication is internal.
V-Control Remote PC is tiny software to control a PC programmatically. It is not comparable with VNC or Remote Desktop, and the desktop of the remote controlled PC is not exported to another PC. The software is useful if one need to control an application e.g. from a show control system. V-Control Remote PC receives commands v ia UDP or RS232 and execute these commands on the machine were it is installed.
On Windows, V-Control Remote PC has advanced PowerPoint control cababilities. If the Computer that is running V-Control Remote PC has Powerpoint installed, then you can launch Powerpoint Presentations, control the presentation with Next / Previous commands or go to a slide by it's slide number.
V-Control Remote PC also return the number of slides, the current slide number and the speaker notes. These data can be used to create a GUI for the presenter or show control operator. Use the Target textfield to enter an IP Address that shoud receive this information.
Via LaunchApplication command it is possible to execute any shell command and start an application or script (with optional parameters). One can send key down events as well as mouse move and mouse click commands (not on Mac OS X). With the correct commands it is possible to reboot or shutdown the PC. To enable the remote control just click the Enable checkbox for the connection type you want. The Group ID is used to access indiv idual PC when using Broadcast Commands.
Note: V-Control Remote PC starts always minimized. After the first launch click the program icon in the task bar and setup the remote connection. Then click “Save Settings” and “Minimize”.
To control V-ControlRemotePC by a media control system such as V-Control or Medialon, a plain, easy to use ASCII protocol is implemented. The command string is composed as follows:
Group: Each V-Control Remote PC instance is a member of at least one group, the group 0. A command sent to the group 0 is accepted by all V-Control Remote PC instances in the network. To make PC's individual accessible in a UDP Broadcast, you can add them to an extra group, for example Group 1. A command sent to units with the group 1 is only accepted by V-ControlRemotePC instances in that particular group. However, a command sent to group 0 is also accepted by units with a group > 0. To send a command to PC's that are members of different groups, just send a comma separated list with group IDs (for example 1,2,34,56,57). You can use an unlimited number of groups, and depending what you want to do it can be useful to give every V-Control Remote PC an individual group ID.
Command: The command that is sent to V-Control Remote PC (i.E. SendKeys)
Parameter: Some commands need a parameter to work properly
<2>: send the ASCII code 2 as separator for the command parts. Note: It is not allowed to send this as string, for example “2” or “02”. You have to send the separator as binary value. The correct function in a Basic program will be chrB(2).
<CR>: ASCII Code 13 (Return / Enter key). Send the ASCII code 13 as terminator for the command. Note: It is not allowed to send this as string, for example “13”. You have to send the separator as binary value. The correct function in a Basic program will be chrB(13).
The command sendkeys send a keypress event to the application that has the focus. (Not available for Mac OS X)
Send the Key “A”
Send the Key SHIFT+a
Send the Key CTRL+a
Send the Key ALT+a
Send the Key F1
Send the Key CTRL+F2
Send the Key CTRL+Backspace
Send the Key DELETE
Other allowed parameter values: BREAK;CAPSLOCK;DELETE;DOWN;END;ENTER;ESC;HELP;HOME;INSERT;LEFT;NUMLOCK;PGDN;PGUP;PRTSC;RIGHT;SCROLLLOCK;TAB;UP
(Not available for Mac OS X)
(Not available for Mac OS X)
0<2>mousemove<2>100 345<13><code> moves the mouse to position 100,345 === MouseClick === (Not available for Mac OS X) <code>Group<2>mouseclick<2>mousekey<13>
Use this command to check if the computer is available
returns “living” if computer is powered on and network available
PowerPoint commands are available only on Windows with a valid PowerPoint installation.
Call the next PowerPoint slide of the running presentation.
Call the previous PowerPoint slide of the running presentation.
Jump to a slide defined by Slidenumber.
Jumps to Slide number 4
Set the Presentation to black
Unmutes a black presentation
Loads a presentation. The complete file path is needed as parameter.
Starts a loaded presentation. As parameter the filename (without path) is needed.
If a Presentation starts. As in the commands before, the values in the <> has to be send as binary value.
if a presentation is finished or stopped.
If a new slide is shown
0<2>pptslidechange<2>CurrenSlideNum of NumberOfTotalSlides<5>SpeakerNotes<4>
0<2>pptslidechange<2>2 of 10<5>Here are the notes of the current shown slide<4>
KeyToUDP does principle what it's name suggest. It catches key presses from a keyboard and send the captured keys via UDP. KeyToUDP can use three different protocols to do that. Send Keys, V-Control Remote PC and Art-Net.
As all the other Extra tools, you need a license to use it permanently (see Getting a License). Without a license the program terminates every 30 minutes and has to be restarted.
Select the Network Interface which should be used to send the data. The UDP Addres is the address where the data is sent to, the UDP Port determines the port. Router Hops determines the number of routers the data can pass.
If Send Mouse Button and / or Send Mouse XY is selected then also mouse movements and button clicks are send.
Note: This does not work with Art-Net. Only the left Mouse Button is detected.
Note: After any change press the Connect button to make the changes active.
If Send Keys is selected, KeyToUDP send simple ASCII strings. The string contain the Key Name. So if F1 is pressed for example, KeyToUDP sned F1, if A is pressed it sends A.
You can see the Keyname that is sent in the Keycode label. In the Example above the ENTER key was pressed. It has the keycode 36. The string that is sent via UDP is ENTER.
If the left mouse button was pressed and the Send Mouse Button box is checked, then KeyToUDP send MouseDown, and if it is released it will send MouseUp.
If the Mouse is moved and the Send Mouse XY box is checked it send MouseX:XPosition Y:YPosition
If this protocol is selected you can use it to send key presses and mouse data to V-Control Remote PC. The protocol is a little more complex, but also very easy.
For a Key-press event, KeyToUDP send
Note: values in <> are binary values. <13> is the code for the ENTER key for example. So KeyToUDP does not send a 1 and a 3, it sends a byte containing 13 as value.
For a mouse button click the string is as follows:
If the mouse was moved:
KeyToUDP can also use Art-Net as protocol. In this mode, no mouse data is sent.
Universe: select the universe that is used for the data.
DMX Channel ALL: If All is selected, then KeyToUDP sets the DMX Channel, which number is the same as the Key-Code, to High (255).
The key-code of a pressed key is shown in the Keykode label.
In the example above the W key was pressed, which has the key-code 13. In this case the DMX Channel 13 is set to High (255).
Single DMX Channel: If one of the 512 available channels is selected, then only this single DMX channel will change. The value of the Channel will be the value of the key-code.
Hold Time (16ms Steps): If set to 0, then the channel is set to High as long as the key is pressed. If a value > 0 is entered here, the channel will hold the value as determined here. a value of one means 16 Milli seconds, a value of 10 means 160 Milli seconds.
Note: KeyToUDP will not recognize any further key press events during the hold time.