User Tools

Site Tools


device_drivers

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
device_drivers [2018/05/16 11:16]
admin [MIDI]
device_drivers [2018/09/06 08:47] (current)
admin [System]
Line 1: Line 1:
 ===== Device Drivers ===== ===== Device Drivers =====
 The following chapters provide information for some device drivers shipped with V-Control. These drivers are used for special tasks. The following chapters provide information for some device drivers shipped with V-Control. These drivers are used for special tasks.
-==== RemoteScreenSender ==== 
  
-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. +----
- +
-=== Sending Device Variables === +
- +
-{{ :​remotescreensender1.png |}} +
- +
-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.  +
- +
-{{ :​remotescreensender2.png |}} +
- +
-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. +
- +
-{{ :​remotescreensender3.png |}} +
- +
-Again nothing seems to happen. But now select the //​SendDeviceVar//​ command. +
- +
-{{ :​remotescreensender4.png |}} +
- +
-The //​DeviceName//​ parameter is preselected with the device chossen with the //​RefreshDeviceVars//​ command. Now select a device variable in the //​DeviceVar//​ parameter box. +
- +
-{{ :​remotescreensender5.png |}} +
- +
-Next step is to choose to which join number in which format the content of the device variable is send. +
- +
-{{ :​remotescreensender6.png |}} +
- +
-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. +
- +
-=== Sending User Data === +
- +
-Another way to send messages to a V-Control Designer instance is to use the //​SendDigital,​ SendInteger//​ and //​SendString//​ commands. +
- +
-If used in //​Cuelists//,​ the only option is to enter the data direct as command parameter. +
-{{:​remotescreensender7.png?​200|}}{{:​remotescreensender8.png?​200|}}{{:​remotescreensender9.png?​200|}} +
- +
-If used in //Scrips//, we can process the data that is send. +
- +
-{{ :​remotescreensender10.png |}} +
- +
-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. +
- +
-=== Getting Join Values === +
-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. +
-==== RemoteScreenReceiver ==== +
- +
-{{ :​remotescreenreceiver.png |}} +
- +
-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|Events]] chapter.+
 ==== System ==== ==== System ====
  
Line 61: Line 10:
 {{ :​systemdevice.png |}} {{ :​systemdevice.png |}}
  
-It has no commands and does not need a channel, because all the communication is internal. +The device ​variable //​CurrentTime// ​can be used in timelines ​for daily tasks. There is also //​Timecode//​ variable. This timecode can be set by the //​Set_Timecode//​ command and is also for timeline ​use.
- +
-===== V-Control Connectors ===== +
-For some devices not direct accessible by V-Control, we provide V-Control connectors. A V-Control 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. +
- +
-So the V-Control 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. +
- +
-==== MIDI ==== +
- +
-There is no native support for USB MIDI devices in V-Control, but we have 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 127.0.0.1 if on the same machine then V-Control) +
- +
-{{ :​tcp_midi_connector.png |}} +
- +
-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 net time it starts. +
- +
-On the V-Control side, now use the TCP_MIDI_Connector_v4 driver.+
  
-{{ :​tcp_midi_connector_v4.png |}} 
  
-The driver has a couple of device variables that can be used to fire events if a MIDI message is received. 
device_drivers.1526469393.txt.gz · Last modified: 2018/05/16 11:16 by admin