The V-Control user interface provides quick access to all configured devices, tasks and Acknowledge monitoring. All the three programming modes, as there are Cuelists, Scripts and Timestrips, are accessible within one user inetrface.
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.
A list of all available configured devices. The number of devices in this list usually not equals the number of physically attached devices. Each device in this list has at least one channel associated, which is used to communicate with the device. But in V-Control, each device can have more than one channel. It is possible to assign e.g. four channels to a device “DVDPlayer”, and using this device to control four player. A command is sent to each physically attached device whose channel is selected.
This is were the devices are used. In this area, the user interface of the selected device is presented.
The channel is responsible for the physical connection between the device driver and the controlled device itself. A channel always represent a physically present interface (e.g. RS232 port or TCP port). One channel may be associated to more than one device. This is useful if the devices control cable is daisy-chained (e.g. on a RS485 bus). If one device accessing the channel, it is blocked as long as the access is finished. This is very important in multi tasking systems, because two devices can not use the same resource at the same time.
All available commands of the selected device are listed here. The list is sortable by clicking the table header.
Most devices and commands need parameters. A parameter can specify a device property (e.g. a bus address or name) or a command parameter like Timecode for a CueUp command.In V-Control, each command can have up to 6 parameter, two device parameters and four command parameters.
If a command is sent to a device, it usually returns a feedback (acknowledge). This could be an ACK (positive acknowledge, the command was valid and executed) or NAK (negative acknowledge, the command was invalid or not executed for any other reason). If no valid feedback is returned by the device in a pre defined time, a Timeout error is generated. These device feedbacks are listed in the Acknowledge list. The Acknowledge list knows two modes, the “Logging Mode” and the “Non Logging Mode”.
Each device / channel pair has its own row in the list. This means that for each command sent e.g. to DVD1 and channel c03, the acknowledge is displayed in a single row. A new command to the same device / channel pair overwrites the old acknowledge in the list. A command sent to DVD1 and channel c04 generates a new row in the list, which is also overwritten by a new command to DVD1 and channel c04.
For every acknowledge a new row in this table is appended. In this case, the list grows rapidly. It is useful for debug purpose, because all feedbacks can be viewed in the order they arrived.
The logging mode is available via main menu Configure - Options at the System tab.
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 two different types of tasks, Cuelists and Scripts. Both are combinable together.
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.
Scripts are real (and for the chosen platform native compiled) basic programs. They offer all a modern program language need, like object orientation, classes, inheritance and variable definition. 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.
As mentioned before, devices can not only receive commands, they can also generate events. An event occurs if a device send a string to a channel that is not a command feedback. E.g. a sensor detects a motion and as result it send a message to the device driver. In the event list, a task (Cuelist or Script) is assigned to that event and the linked task will execute and, e.g. send an email or switch on a siren.
This list contain all available Scripts (see 7b. Script Tasks)
In this place the Scripts are edited.
Quick access to frequently used functions