Avio Scripts allow programming of mathematical or logic functions, as well as complex functions and clearly extend the range of functions available in the Avio System. For frequently required basic functions, such as comparison, logic AND/OR, addition, multiplication, etc. prepared scripts are part of the supply. The programming language Lua allows creation of your own scripts and implementation of virtually any function. A Lua development tool is supplied along with a Wings Engine. For separate applications you can also acquire a dongle-based license for Avio Service.
Avio Scripts are supported by the following Avio nodes:
Wings Vioso RX
Wings IOboxes (requires firmware of June 5, 2013 or later)
Avio Service
Information on how to add the scripts to the Avio nodes can be found in the topic below.
A more detailed introduction to Avio Scripts and the programming language Lua can be found in a PDF file which can be printed. See AvioScript.pdf.
Before you can use scripts you need to select and install them and make them available in the Avio Manager.
Open the Avio Manager. Right-click the node for which you would like to install one or more scripts and select Open with Web Brower. Following this, the web interface is displayed. Note: Scripts can be installed for Wings Vioso RX, Wings IOboxes and Avio Service, where information and incoming connections are also stored. In principle, the scripts can be used across the system with all Avio channels.
Click Scripts on the left and the script page opens. In order to select a script click Add a script on the right next to Installed Scripts and a selection list appears. At Add existing scripts you will find all the scripts that have been supplied. Further below in the list at Add custom scripts you will find user-defined scripts that you may already have imported.
When you click a script in the list a short description of its functions and the available parameters appears. At Name you can enter the name which is to appear in Avio Manager.
When configuration is finished, click Save and it will appear in the list of Installed Scripts and, in Avio Manager, with the corresponding node in folder Avio Script.
With folder Avio Script and the script open you can use its functions by linking up inputs and outputs with other Avio channels. See also Wings Avio Manager - An overview.
New scripts can also be added in Avio Manager by right-clicking the port of the corresponding node in the Editor and clicking Add Script ...
As mentioned above, some scripts for frequently used standard functions are supplied. The following scripts are available:
16 Bit to 8 ...for converting a 16-bit stream into an MSB and an LSB stream, e.g. for DMX signals.
Add ...for the addition of two values, with the option of one value been fixed.
Append To File ...writes the channel value to a text file if input is set to 1. Path and text file are defined in the script.
AND ...is a logic AND function. It has two or more inputs (parameter NrOfInputs) and if the value of each input is 1, the output is set to 1.
ApplyValue ...this scripts sends values or strings set for input value or input string, respectively to output value or output string, respectively if Channel activate is set to 1.
Average ...determines the average value of all input channel values. The number of desired input channels is entered at NrOfInputs.
ChangesOnly ...reports changes only.
Compare ...is used for comparing two values. If both values are identical, the output is set to 1.
Convert Range ...converts Range 1 to Range 2. Both ranges are defined by entering minimum and maximum.
Counter with Reset ...is a counter with reset channel. Works just like Counter (see below) but the output value can be reset via the Channel Reset.
Counter with Set ...is a counter with a set channel. Works like Counter (see below) but the Output value can be set via Channel set value.
Counter ...is a counter that adds or subtracts a specified value (Parameter Increment/Decrement) to the current Output.
DataStore ...stores values or text to be sent to the script. It is useful if the last values are to remain available even after a restart. You can specify the number of channels that are to be available for storing values and texts. The channels appear in separate ports DataStoreNum and DataStoreText. Connections are to be made as follows: Value source numValue or txtValue Value target (e.g. Status bar).
Debounce ...sets the output to 1 and back to 0 after a defined delay. During the delay period incoming input values are ignored (different from script Wipe Contact). This script allows a certain switch “holding time” to be achieved independently of the duration of a keystroke.
Delay ...is used for delaying commands by a particular period of time (Parameter Delay). Several outputs can be set up (Parameter NrOfInputs), which, one after the other, output after expiration of a Delay period, i.e. not simultaneously. If Input Channel is 1 the outputs are set to 1 after the specified delay. If, during the delay period, the input value is set to 1 again, the delay time is reapplied again.
DelayNoPendingValues ...as above at Delay but during the delay period the input value is ignored, i.e. the delay period is only applied once.
DetectArea ...detects whether the inputs correspond with the predefined area.
Division ...performs a division (Dividend : Divisor); the values for dividend and divisor can be specified.
Download Webfile ...loads a file from a particular URL and saves it to the specified folder. The link to the file is specified via the node value. Further options.
Email ...sends e-mail information to the specified address (only available for Avio Service and Wings Vioso RX).
ExecuteIfAllowed ...transfer of information is blocked for a defined period of time.
Extract Date Time ...extracts
date and time-related data from an ISO 8601 data element (e.g. 2014
12 01T14: 02: 24 + 01: 00).
Further information...
GestureRecognition ...recognizes various gestures on the basis of x and y-coordinates.
Get Area ...detects whether the mouse pointer is located within or outside the area and sets the output value to 1 if the mouse pointer is within the area. The area is defined by two points in the coordinate system and is part of an overall area. The size of the overall area is defined by Width and Height. It refers to the entire desktop. Both areas are related to each other.
Get Rotation ...determines the angle of the connecting line based on the coordinates of two points and outputs the value in degrees.
Increment Decrement With Hold ...increments or decrements a value by a defined amount if the plus or minus channel is briefly set to 1. If a channel is permanently set to 1 the value is changed within a defined interval. The admissible value range can also be defined.
L_AcousticsLA8 ...is used for controlling the audio amplifier LAcoustics LA4/LA8.
Multiplex ...changes over between several inputs (Parameter NrOfInputs). Channel Select Input allows the input to be defined which is to be output.
Multiplication ...multiplies two values; one value can be specified.
Not ...performs a logic inverse function. If the input is1 the output is 0; if the input is 0 the output is 1.
Or ...performs a logic OR function. Output is 1 whenever one of the inputs is 1. The number of inputs can be specified (Parameter NrOfInputs).
ParseIseoVariableFile ...is used for readout of IseoVarible text files. The script analyses the text file specified for initialization and creates one text channel for every variable contained. The individual variable values are saved in the usual format: [Variable name]|[Variable value], e.g.:
%time%|13:45:32
%date%|21.10.2014
%dmxValue1%|245
This causes the channels time, date and dmxValue 1 to be created. Although the channels are text channels the Avio texts can also be interpreted as figures, e.g. when the channel is dragged and dropped onto a status bar.
Password Request ...allows a password request.
PJLinkPower ...is used for activating/deactivating projectors that support PJLink .
Ramp ...is used for changing a value to a target value within a specified period of time. The number of inputs can be defined (Parameter NrOfInputs).
Scene Call Delayed ...sets 8 outputs to the value predefined at Default Output if input is 1. The channels output their values delayed by the Default delay value.
Scene Call ..sets 8 outputs to the value predefined at Default Output if input is 1.
ScLanDmxUpd ...simulates an SC LAN Module in a very simple way. It can only receive SC LAN values and display them on an Avio channel. Changes in the Avio channel are again transferred via the SC LAN protocol. Further information...
Set Text ...sends a predefined text if input is 1.
Set Value when Value Reached ...sets the output to the defined value Default output if the input value exceeds the specified threshold value Default input. If the input value is lower than the default input value the value at Output is 0.
Set Value ...sets the specified value if the input is 1.
Smoother ...enables smooth transitions, e.g. when a DMX channel is to be controlled via a number of different value sources. InputDirect is always applied directly and interrupts Smoothing, InputSmoother approximates that value with the fade time.
SNTP ...supplies the current time it previously received from a defined server. Further information...
Start Program ...starts the specified program if the value is set to 1. It is also possible to pass parameters for the program start. Note: This script is not available on IOboxes.
Subtract ...performs a subtraction. The values can be specified.
Time To String ...is used for converting milliseconds into the format hours:minutes:seconds 000:00:00. Channel Input Integer is connected with the desired time channels of the desired timeline and the converted time format is available for further linkage at Output hh:mm:ss . See also Wings Vioso Avio resources.
Trapezoid ... creates a fade in, maintains the value for a certain period and creates a fade out. The fade in and out time (milliseconds) and the holding time (seconds) can be preset.
Wake on Lan ...wakes the PC using the defined Mac address if the value is set to 1.
Weather ...displays the weather information provided by http://free.worldweatheronline.com for a particular location and time. This service requires an account and an enable code be the website provider (only available for Avio Service and Wings Vioso RX).
Webrequest ...calls the specified internet address (URL). For this purpose the action needs to be performed by setting channel Start in port Start to 1.
WingsRXLogDeltacastResolution ... analyzes the Wings RX log file for Deltacast Resolution entries.
WingsRXLogLoadingError ... analyzes the Wings RX log file for reported loading and decoding errors.
Wipe Contact ...sets one output to 1 and back to 0 after a defined delay; this allows a certain switch “holding time” to be achieved independently of the duration of a keystroke.
Write File ...writes the value into a text file if it has changed. File name and storage location must be specified beforehand. This script is only supported by Avio Service and Wings Vioso.
Some scripts may not be available for all Avio nodes. Refer to the notes for the corresponding nodes.
A more detailed introduction to Avio Scripts and the programming language Lua can be found in a PDF file which can be printed. See AvioScript.pdf.
See also
Using variables for control purposes