User Tools

Site Tools


User Interface

Main Window

The V-Control user interface provides quick access to all configured devices, tasks and Events. All the three programming modes, as there are Cuelists, Scripts and Timestrips, are accessible within one user interface.

The selected kind of Task (Cuelist, Script or Timestrip) is determined by the tab bar in the lower half of the application window.

All three programming modes can be used together and mixed within one project.

The red Lines

These lines are used to change the position and size of the GUI elements. Click and drag the lines to change the GUI.

Device List

A list of all available configured devices.

Device Variable List

Each device can have a set of variables. Variables are used to represent the state of the device. They are usually filled automatically from the device itself. If a variable change, this can trigger an action.

Command List

The command list contains all the available commands. If a command is selected it can show parameters for the command.

Command Parameter

Most devices and commands need parameters. A parameter can specify a device property (e.g. a bus address or name) or a command parameter such as Input Channel to change the input of a device. In V-Control, each command can have up to 6 parameter, two device parameters and four command parameters.

Event List

Here are all programmed events located. If a device variable change (that can be a new Timecode position during playback of a video player, an input change of a projector or a system time change) this event can be linked to a task. Each event that you want to handle is listed here.

In complex project the eventlist can be quite long. To help finding events for debugging there is a search field. If text entered here matches any of a row content, then only these rows are diplayed.


Task is a generic name for V-Control scripts. A task represents a program or subroutine. They contain the instructions for the attached devices (e.g. play a movie) and the program flow. V-Control knows three different types of tasks, Cuelists, Scripts and Timestrips (Timeline like). To access the tasks, select one of the tabs at the bottom

Cuelist Tasks

These tasks are very easy to use but have some limitations. Every program step is written in a table, and the table is executed from top to bottom. Branching is possible if calling other tasks from that list (CallAsThread, CallAsFunction).Conditional branching is available in Scripts only. Also (nested) repeats are possible. The biggest advantage of Cuelists is, that programming skills are unnecessary to work with them. Also for people with (basic) programming skills, Cuelists lead to target very fast.

Script Tasks

Scripts are real (and for the chosen platform native compiled) basic programs. In V-Control, the basic language is enhanced by commands giving access to the device drivers and channels.

The screenshot below shows the Script GUI.

Timestrip Tasks

Timestrips are used for a timeline like programming. The difference is that the representation of the task is not a timeline, but a table.



Opens a Project


Saves a Project. The saving process is running on it's own thread in the background. It is not possible to terminate V-Control while a saving process is running.

Save Inc.

Saves a Project with an incrementing number. If the project name is “myProject.vc4”, then pressing this button saves “myProject_001.vc4”. Pushing the button a second time saves “myProject_002.vc4” and so on. Attention: Save Inc. overwrites existing files without asking. To avoid this, make sure that you always open the project with the largest number after V-Control is launched.

Save as

Saves a Project under a new name


This button toggles. If unpressed, V-Control does not send or receive any commands. If pressed, V-Control will perform all events and commands.

Run Task

Runs a selected task. F5 key does the same (only available in Run mode).

Stop Task

Stops the selected task. F6 key does the same (only available in Run mode). Note: This Action stops the selected task, but if the task is re-executed by an event, then it runs again.

Stop All

Stops all running tasks. F7 key does the same (only available in Run mode). Note: This Action stops all tasks, but if a task is re-executed by an event, then it runs again.


Opens the Channel Editor


Opens the device setup page. Here a device driver can be selected from the device database.

Device Editor

Opens the Device Editor

Add Task

Creates a new task. The type of task (Cuelist, Script or Timestrip) is determined by the task tab that is visible at that moment.


Opens a playlist to drive a show.


To receive button presses from external GUI's running on a tablet or PC, and to update GUI elements such as labels, buttons etc. V-Control uses Join Numbers to identify these widgets. In complex project there can be hundreds of widgets, and some widgets can have multiple join numbers. This list can help to keep the overview of all those numbers.

Compile All

V-Control scripts are compiled once automatically on their first start. This button does the same for all scripts before they run the first time.

Channel Editor

Basis for the communication with attached devices are the channels. A channel gives access to a physically interface - e.g. a RS232 port or a UDP port. The device drivers use these channels to communicate with the devices attached to the channels.

Via main menu Configure - Channels (or toolbar shortcut) the channel editor opens. Every channel is identified by its Channel Name. For that reason, not only interface parameters are needed to specify the channel, but also a unique channel name. The channel name should (but is not required) give a hint on how the channel is used. E.g. a channel used to control a Panasonic projector could have the name “proj1_left”, the channel for the second Projector is named “proj2_right” and so on. We recommend to name the channels in lower case letters, and the Devices with a leading upper case letter.

Before creating a new channel, it is necessary to specify its kind in the Interface Type area and enter a channel name as described above. To edit a channel, select its name in the left list and change its parameters. Then click Update Channel.

Serial Channel

Serial channels are used for RS232/422 and 485 interfaces. Get Serial List loads all previously scanned ports in the Port: list. If new serial ports attached to the system, Refresh executes a new port scan. On systems with many serial interfaces this could take a while.

TCP Channel

To control devices via TCP, the Port and IP Address is needed

UDP Channel

Router Hops determine how many routers the UDP packet is allowed to pass.

SMTP Channel

The SMTP channel specify's a mail server. This channel is used by the SMTPMailClient device to send emails.

Server: The mail server (e.g. From Adr.: The sender address ( Username: Username to log in Password: Mail server password

Http and Https Channel

HTTP and HTTPS channels can automatically log in if username and password is saved in the channel properties. They both can do http Get and Post requests.

Device Setup

To configure the devices select Configure - Devices in main menu (or Device shortcut in the toolbar ) . The Device Setup window opens as shown below. The right table lists all devices currently available in the project. The left table list device templates, whose search criteria matches one of the fields Category, Type or Manufacturer.

If the desired driver appears in the left list, a double click or Add Device adds the device to the right list (project devices). Save Devices saves the right list and make the devices available.

Before the device is usable, it is necessary to assign at a Channel. To do that, follow the instructions in the screenshot below.

  1. Select the device in main windows device list
  2. press the setup tab (right from commands tab)
  3. in the Available Channels list select the channel to assign to the selected device
  4. press the Add button

Device Editor

It is possible to customize (if needed) the device drivers for a project. A complete description how to create and edit device drivers is found in the Device Editor chapter. In most cases it should be sufficient to change the device name. To do that, follow the instructions below.

The Device Editor is launched via Device Edit symbol in the toolbar or main menu Configure → Edit Devices…

To change a device name enter / edit the name in the Name textfield. The device is selected in the Drop Down Box Device:. Update Device saves the new name in the current project.

The device Editor knows two modes. If launched via Configure → Edit Devices or the Device Edit toolbar icon, all changes made in any driver stored in the project (*.vc4 file). The original driver template stay untouched. If launched via Configure → Edit Device Templates, the templates is edited, and the project devices stay untouched. This is important to keep in mind if editing device drivers.


Via main menu Configure → Options the program preferences are available.


  • Start delayed to load drivers first:If V-Control runs stand alone and is started at system start automatically, it could be that network drivers or drivers for serial cards are not loaded when V-Control is ready. With this option V-Control starts and the waits before loading a project file.
  • Select Autoload File: selects a file that is load during startup.
  • Autostart Task: launch the selected task if the Autostart File was loaded. Note: Only if an Autostart Task is selected, V-Control switches to Run Mode automatically. If you don't need a task running at startup, but want to enter Run Mode automatically, create a task that does nothing and select it here.
  • Show WautForFariable Contdowns: If a WaitForVariable command waits for a numeric or time value, and the comparsion is >, >=, < or ⇐, then a window with a countdown appears.
  • Global Framerate: This framerate is used in the Timeline. The framerate is also used in Timecode calculations.
  • Modal Playlist Dialog: by default, the playlist is no modal dialog (means that you can access other V-Control elements while the playlist is open). If this is checked the playlist is modal. This is useful if keyboard shortcuts are mapped to playlist items and you don't want the playlist to lose its focus.
  • Playlist Textsize: changes the font size of the Playlist.
  • Logging Level: determines how many logg entrys are generated. Default is 3 (only errors). Level 2 is warnings (Timeouts), Level 1 is commands and level 0 is also all internal commands for device status acquisition. With loglevel 0 you'll get a rapidly filling list. The log window opens automatically if a new logmessage corresponding to the selected loglevel appears.
  • Log to File:writes all messages to a textfile

Remote Services

Remote Services are used to make V-Control functions available for other applications. They can use Ethernet (TCP/UDP/HTTP) or RS232 to communicate with V-Control. The communication protocol is described in the Node Protocol chapter. To make Remote Services available via network, it might be necessary to configure the firewall of the System. All kind of remote services described below can be used at the same time.

TCP Remote

The TCP service can be used by any application that is capable to connect to a TCP Server and send the command strings as described in the Node Protocol chapter. The Port is 10101 by default an can be changed. Max Clients determines the maximum number of simultaneously connected clients. The check-box Enable TCP Remote Service starts the service.

UDP Remote

The UDP Service uses the same protocol than the TCP Service. If both services used at the same time, it is necessary to use a different port. For that reason, the default UDP Port is 10102.

HTTP Remote (Webserver):

V-Control comes with a build in web server.

The HTTP Port is 80 by default. In this case it is sufficient to enter the IP address of the V-Control system in the browsers address field. If the web service is not available, check the firewall configuration of the computer or try another port. If another port than 80 is used, the port number has to be added to the URL (e.g. if Port 8080 is used alternatively. Documents Dir contain the path to the html documents directory.

RS232 Remote

If there is no network available, it is possible to use a RS232 connection. The RS232 service uses the same protocol than TCP or UDP services.

The Script Editor Page

This dialog is used to configure the Script Editor

  • Color Syntax: Switch Color Syntax on / off
  • Keywords: Basic keywords are marked blue
  • Numbers and Strings: These values marked green.
  • Remarks: Code lines containing are marked red from the occurrence of the letters
  • Textsize: The size of the font
  • Font: The type of the font
user_interface.txt · Last modified: 2017/12/13 14:33 by admin