Scripting for VIOSO applications

Many processes in VIOSO are highly automatable to enable advanced calibrations, transformations, and recalibration scenarios.

1. Common

1.1. Script file

A script file is an ANSI text file in XML format with the root section <VIOSO>.

<?xml version="1.0"?>
<VIOSO>
  <File version="1.0.0" />
</VIOSO>

1.2. Elements

There are two types of elements:

1.2.1. <task> Element

A <task> section defines a certain action. Every <task> section must have one action attribute, which defines the task to be executed. Depending on the certain task there are usually other attributes required (see 2.).

actiondescriptionrequiredoptionalversion

Condition

used to specify one dependent action (see 2.1.)

name

use

5.0

Configure

used to configure one known entity (see 2.2.)

name, state

use

4.0

Connect

opens a connection to the specified client (see 2.3.)

core

4.0

Control

indicates that certain behavior of a client should be monitored (see 2.4.)

type, subtype, core

4.0

Create

creates a specific entity (see 2.5.)

type, subtype

core, use, name

4.0

Destroy

destroys a specific entity (see 2.6.)

name or type, subtype

5.0

DestroyAll

destroys all entities of a specified type (see 2.7.)

type, subtype

5.0

Disconnect

disconnect one specific client (see 2.8.)

core

5.0

Execute

executes the specified command (see 2.9.)

type, subtype

use, name

4.0

IPC

enables configuration of the inter-program control interface (see 2.10.)

type

use

5.0

Load

loads a specific file/configuration, etc. (see 2.11.)

type, subtype, name

use

4.0

Manipulate

command to alter various data (see 2.12.)

type, subtype

use

5.0

Playlist

configures/manipulates the playlist of a presenter entity (see 2.13.)

name

use

5.0

Refresh

updates a specified output, etc. (see 2.14.)

name or type, subtype

4.0

RefreshAll

updates all outputs of a specific entity (see 2.15.)

type, subtype

4.0

Render

outputs the state of a tender entity (see 2.16.)

name

use

5.0

Save

stores calibrations / Configurations, etc (see 2.17.)

type, subtype

use

4.0

Send

command to send data over the network (see 2.18.)

type, subtype

use

5.0

Start

starts an action, task, etc. (see 2.19.)

name or type, subtype

4.0

StartAll

starts any existing actions of a certain type (see 2.20.)

type, subtype

4.0

Stop

stops one specific task (see 2.21.)

name or type, subtype

4.0

StopAll

stops processing all actions of a certain type (see 2.22.)

type, subtype

4.0

Transfer

action to transfer information, files, etc. (see 2.23.)

type

use

4.0

Wait

general action to wait for certain events (see 2.24.)

name, state

core

4.0

1.2.2. <define> Element

A <define> section is used to summarize parameters that are required for certain actions. Parameters can also be defined directly in the <task> section. <define> sections are used to improve a script's readability and enable the reuse of the same parameters in several <task> sections. Every <define> section requires the following attributes:

attributevaluedescriptionversion

name

[identifier]

name of the parameter block

4.0

type

3DModel

basic initialization of a 3DModelTreat task (see 3.1.)

4.0

App

common parameter for executing applications (see 3.13.)

5.0

BehaviourCreate

creates or starts a certain behaviour (see 3.8.ff)

4.0

BlendParam

handles configuration/manipulation of edge blending parameters (see 3.24.)

5.0

CalibChance

handles changing of parameters for blending (see 3.20.)

5.0

CalibCommerce

configures an Export/Convert task (see 3.4.)

4.0

CntSpace

creates a custom content space entry (see 3.10.)

4.0

Common

general parameters, used for several actions (see 3.12.ff)

4.0

Condition

parameter to specify certain working actions (see 3.34.)

5.0

CreateImage

parameter to create a standard image file (see 3.11.)

5.0

OS

parameter to execute operating system-specific commands (see 3.14.)

5.0

Playlist

parameter to configure a playlist (see 3.22.)

5.0

RenderPipe

configures a Presenter behaviour (see 3.5.)

4.0

RenderTarget

configures a presenter task (see 3.23.)

5.0

SC_DevSel

configures the device selection of SingleClientCalib task (see 3.2.)

4.0

Transfer

parameter to perform a transfer task (see 3.20.)

4.0

1.2.3. Example

The following simple script file copies the "Calib.sps" file from the data folder to "D:\Backup\Calib.sps":

<?xml version="1.0"?>
<VIOSO>
  <File version="1.0.0" />
  <task action="transfer" type="file" use="Backup" />
  <define name="Backup" type="Transfer" >
    <from file="Calib.sps" />
    <to file="D:\Backup\Calib.sps" />
  </define>
</VIOSO>

The following script file does exactly the same, except that the necessary parameters for the transfer action are specified directly in the <task> section:

<?xml version="1.0"?>
<VIOSO>
  <File version="1.0.0" />
  <task action="transfer" type="file" >
    <from file="Calib.sps" />
    <to file="D:\Backup\Calib.sps" />
  </task>
</VIOSO>

1.3. Variables

In some places, attribute values can be defined by variables. E.g. to use script parameters or ingest other ini-files. In this Scripting context, variables are noted this way:

$[source]$[name]$
  • [source]: identifier of the source of the variable

  • [name]: name of the variable

1.3.1. Source: script variables

Script variables are parameters that are specified directly with the name of the script file to be executed. Script variables are only valid for the script to be executed and are passed to the script engine as a parameter string. The parameter string has the following structure:

[name]=[value]{,[type]};[name]=[value]{,[type]}; ...
  • [name]: name of the script variable

  • [value]: value of the script variable

  • [typ]: optional variable type. If no [typ] is specified, [value] is interpreted as a string. Available variable types:

    • i => value is an integer number

    • f => value is a float number

    • d => value is a float number with double precision

    • s => value is a string of characters

During script runtime, script variables can be retrieved by calling ENV (see below).

1.3.2. Source: additional ini-file

This variable source can be used for the integration of project-specific configuration files and generally for the integration of selector parameter lists (see 4.1.). The content of additional ini-files is persistently available. Once loaded, all subsequent scripts can access the content.

1.3.3. Example

This sample script loads the ini-file "List.ini", interprets it as a selector parameter list, and publishes the content of the ini-file under the name Calibs.

<?xml version="1.0"?>
<VIOSO>
  <task action="load" name="Calibs" type="file" subtype="paramlist" use="spsL" />
  <define name="spsL" type="Common" >
    <param file="List.ini" />
  </define>
</VIOSO>

Example for a "List.ini" file:

<?xml version="1.0"?>
<VIOSO>
  <list>
    <element selector="el1" value="c1.sps" />
    <element selector="el2" value="c2.sps" />
  </list>
</VIOSO>

If now the following script is called with the parameter string: use = el1;...

<?xml version="1.0"?>
<VIOSO>
  <task action="load" name="sps" type="file" subtype="sps" use="sps.Load" />
  <define name="sps.Load" type="Common" >
    <param sel="$ENV$use$" list="Calibs" />
  </define>
</VIOSO>

...the file "c1.sps" is loaded.

2. Actions

2.1. Condition

Specifies a conditional task (see 3.27.). Required attribute: name

attributevaluedescriptionversion

name

[identifier]

name of the condition

5.0

Optional attribute: use

attributevaluedescriptionversion

use

[identifier]

name of a parameter block

5.0

2.2. Configure

Used to configure a known entity. Required attributes: name, state

attributevaluedescriptionavailable forversion

type

subtype

name

[identifier]

name of the entity to be configured

[all]

[all]

4.0

state

BaseMethod

basic configuration (see 3.1.)

Behaviour

3DModelTreat

4.0

Validate

configuration of validation rules (see 3.5.)

Behaviour

Presenter

4.0

DeviceSel

configuration of device selection (see 3.2.)

Behaviour

SingleClientCalib

4.0

ExportConfig

configuration of export task (see 3.4.)

Behaviour

Export

4.0

ConvertConfig

configuration of conversion task (see 3.3.)

Behaviour

Convert

5.0

all

general purpose (see 3.7.)

Renderer

dx9

5.0

StartOption

configuration of startup options (see 3.6.)

Behaviour

Presenter

5.0

Optional attributes: use

attributevaluedescriptionversion

use

[identifier]

name of a parameter block

4.0

2.3. Connect

Opens a connection to the specified client. Required attributes: core

attributevaluedescriptionversion

core

[IP]

IP address of the remote client

4.0

2.4. Control

Indicates that certain tasks on a client should be monitored (controlled). Required attributes: type, subtype, core

attributevaluedescriptionversion

type

behaviour

restriction to this type

4.0

subtype

[identifier]

all available Behaviour subtypes (see 2.5.)

4.0

core

[IP]

IP address of the remote client

4.0

2.5. Create

Creates a specific entity. Required attributes: type, subtype

typesubtypedescriptionversion

Behaviour

Presenter

creates a presenter layer (see 3.8.)

4.0

3DModelTreat

creates a 3D model Treatment Scheduler (see 3.8.)

4.0

SingleClientCalib

creates a single client calibrator scheduler (see 3.9.)

4.0

Export

creates an export scheduler (see 3.8.)

4.0

Convert

creates a conversion scheduler (see 3.8.)

5.0

MultiClientCalib

creates multi-client calibration scheduler (see 3.8.)

5.0

CntSpace

3DModel

creates a 3D model custom content space (see 3.10.)

4.0

file

bmp

creates a monochrome image file (Bitmap) (see 3.11.)

5.0

renderer

dx9

creates a DirectX 9 renderer

5.0

Optional attributes: core, use, name

attributevaluedescriptionavailable for typeversion

core

[IP]

IP address of the remote client

Behaviour

4.0

use

[identifier]

IP address of the remote client

Behaviour, CntSpace

4.0

name

[identifier]

entity name (necessary if other script tasks on this entity should be applied)

Behaviour, CntSpace, renderer

4.0

2.6. Destroy

Terminates/Destroys a certain entity. Required attributes: name or type, subtype

attributevaluedescriptionversion

name

[identifier]

name of the entity

5.0

or

attributedescriptionversion

type

subtype

Behaviour

[see 2.5]

terminates all entities of a certain type

5.0

2.7. DestroyAll

Terminates/Destroys all entities of a certain type. Required attributes: type, subtype See 2.6.

2.8. Disconnect

Closes the connection to a certain client. Required attribute: core

attributevaluedescriptionversion

core

[IP]

IP address of the designated client

5.0

2.9. Execute

Executes the specified command. Required attributes: type, subtype

attributedescriptionversion

type

subtype

Timer

Sleep

pauses script processing for a certain time (see 3.12.)

4.0

Progress

Next

proceeds one step in the processing of sequential tasks

4.0

Back

takes a step back in the processing of sequential tasks

4.0

Abort

suspends processing of a task

4.0

App

Start

starts an application located in the execute folder of the parent application (see 3.13.)

5.0

Restart

tries to restart a (remotely) executed application (see 3.13.)

5.0

Shutdown

tries to shut down a (remotely) executed application (see 3.13.)

5.0

OS

Restart

tries to restart the operating system (see 3.14.)

5.0

Shutdown

tries to shut down the operating system (see 3.14.)

5.0

OS

Shutdown

tries to shut down the operating system (see 3.14.)

5.0

Optional attributes: use, name

attributevaluedescriptionavailable for typeversion

use

[identifier]

name of a parameter block

Timer, App, OS

4.0

name

[identifier]

task name

Progress, Abort

4.0

2.10. IPC

Configures and populates the inter-process communication interface. Required attribute: type

attributedescriptionversion

type

Common

general tasks to configure the IPC interface (see 3.33.)

5.0

Optional attribute: use

attributevaluedescriptionavailable for typeversion

use

[identifier]

name of a parameter block

Common

5.0

2.11. Load

Loads a specific file, configuration, etc. Required attributes: type, subtype, name

attributedescriptionversion

type

subtype

File

arva.ini

loads a specified configuration file for the ARVA project

4.0

sps

loads a calibration file in SPS format (see 3.15.)

4.0

vc

loads a virtual canvas description file (see 3.16.)

4.0

paramlist

loads a special parameter list file (see 3.15.)

5.0

playlist

loads a playlist (XML format) (see 3.17.)

5.0

calibuserdata

loads a special binary file with calibration-specific user data (see 3.19.)

5.0

Optional attribute: use

attributevaluedescriptionavailable for typeversion

use

[identifier]

name of a parameter block

File

4.0

2.12. Manipulate

Tasks to edit/manipulate files like calibration files, etc. Required attributes: type(, subtype)

attributedescriptionversion

type

subtype

Calibration

Blending

manipulation of edge blending parameters (currently only available for compound displays) (see 3.24.)

5.0

CalibChange

general manipulations of a calibration (currently only available for compound displays) (see 3.25.)

5.0

Mask

manipulate mask parameters of a single display calibration (see 3.26.)

5.0

BlackLevel

manipulation of black level parameters (currently only available for compound displays) (see 3.27.)

5.0

ProjectManager

manipulation of the project manager (see 3.28.)

5.0

NativeWB

manipulation of display drivers capable of native warp (Nvidia) (see 3.29.)

5.0

GUI

manipulation of the user interface (see 3.30.)

5.0

Optional attribute: use

attributevaluedescriptionavailable for typeversion

use

[identifier]

name of a parameter block

Calibration, ProjectManager, NativeWB, GUI

5.0

2.13. Playlist

Configures/Manipulates the playlist of a presenter entity. Required attribute: name

attributevaluedescriptionavailable for typeversion

name

[identifier]

name of an entity with a playlist

Behaviour

5.0

Optional attribute: use

attributevaluedescriptionavailable for typeversion

use

[identifier]

name of a parameter block (see 3.22.)

Behaviour

5.0

2.14. Refresh

Updates an output, value, etc. Required attributes: name or type, subtype

attributevaluedescriptionversion

name

[identifier]

name of the entity (so far only behaviour)

4.0

or

attributedescriptionversion

type

subtype

Behaviour

Presenter

updates the output of all active presenter layers (on output, the displayed data will be loaded anew)

4.0

2.15. RefreshAll

Updates the output of an entity class. Required attributes: type, subtype See 2.14.

2.16. Render

Processes the output of a renderer Required attributes: name

attributevaluedescriptionversion

name

[identifier]

name of the renderer

5.0

2.17. Save

Stores calibrations, configurations, etc. Required attributes: type, subtype

attributedescriptionversion

type

subtype

File

sps

saves a calibration file in SPS format (see 3.15.)

4.0

vc

saves a virtual canvas description file (see 3.16.)

4.0

playlist

saves a presenter lines playlist (XML format) (see 3.17.)

5.0

calibuserdata

saves a special binary file with calibration-specific user data (see 3.18.)

5.0

Optional attribute: use

attributevaluedescriptionavailable for typeversion

use

[identifier]

name of a parameter block

File

4.0

2.18. Send

Sends information over the network Required attributes: type, subtype

attributedescriptionversion

type

subtype

TCP

Command

sends a (simple) command string to a remote client (see 3.31.)

5.0

File

sends a file to a remote client (see 3.32.)

5.0

Optional attribute: use

attributevaluedescriptionavailable for typeversion

use

[identifier]

name of a parameter block

Send

5.0

2.19. Start

Starts a behaviour, etc. Required attributes: name or type, subtype

attributevaluedescriptionversion

name

[identifier]

name of the entity (so far only behaviour)

4.0

or

attributedescriptionversion

type

subtype

Behaviour

Presenter

updates the output of all active presenter layers (files are refreshed from disk)

4.0

3DModelTreat

starts all existing 3D model treatments

4.0

Export

starts all existing export processes

4.0

2.20. StartAll

Starts all existing behaviours of a certain type. Required attributes: type, subtype See 2.19.

2.21. Stop

Stops a running behaviour, etc. Required attributes: name or type, subtype

attributevaluedescriptionversion

name

[identifier]

name of the entity (so far only behaviour)

4.0

or

attributedescriptionversion

type

subtype

Behaviour

Presenter

stops the output of all existing presenter layers

4.0

2.22. StopAll

Stops all running tasks of a certain type. Required attributes: type, subtype See 2.21.

2.23. Transfer

Action to transfer information, files, etc Required attribute: type

attributevaluedescriptionversion

type

file

file transfer operation (see 3.20.)

4.0

export

transfer operation of a previous export task (see 3.21.)

5.0

Optional attribute: use

attributevaluedescriptionavailable for typeversion

use

[identifier]

name of a parameter block

Send

5.0

2.24.Wait

General action to wait for certain events. Required attributes: name, state

attributevaluedescriptionavailable for typeversion

name

[identifier]

name of the entity (so far only behaviour)

4.0

state

controlled

waits for a certain remote task to be under the control of the Master

[all]

4.0

BaseMethod

waits for the specified task to be in basic configuration state

3DModelTreat

4.0

StaticModel

waits for the specified task to be ready for receiving static model parameters

3DModelTreat

4.0

StdInteraction

waits for the specified task to provide its default interaction channel

3DModelTreat, Presenter

4.0

Validate

waits for the specified task to be in a validated state

Presenter

4.0

Presentation

waits for the specified task to be in presentation state

Presenter

5.0

Interact.DeviceSel

waits until the specified task provides an interaction channel to make a device selection

SingleClientCalib

4.0

Interact.Export

waits until the specified task provides an interaction channel to input export parameters

Export

4.0

Interact.Convert

waits until the specified task provides an interaction channel to input conversion parameters

Convert

5.0

Finished

waits for the specified task to be finished

SingleClientCalib, Export

4.0

Optional attribute: core, use

attributevaluedescriptionavailable for typeversion

core

[IP]

IP address of the specified client

controlled

4.0

use

[identifier]

name of a parameter block

Finished

5.0

3. Parameter Block

3.1. action="Configure" state="BaseMethod"

Type of the separate parameter block: 3DModel Available sections:

  • all attributes in the <param> section are optional except for file and tMethod

sectionattributevaluedescriptionversion

<param>

file

[filename]

name of the SPS calibration file that contains the Multi-Client calibration data for usage

4.0

tMethod

static model

a static 3D model is to be used

4.0

dynamic marker detection

not yet implemented

model

[identifier]

name of the 3D model to be used (custom content space definition)

4.0

externAssigns

[variable]

reference to an ini file and variable on a list of parameters to configure an automatic observer conversion of used displays

4.0

bUseModelCntSpace

[0, 1]

using the texture coordinates of the 3D model as content space

4.0

bUseDisplMap

[0, 1]

using a displacement lookup (displacement map) to determine actual display pixels

4.0

bGenP2WMap

[0, 1]

generation of a display pixel to world (3D) lookup map

4.0

bFillSmallMeshHoles

[0, 1]

fixes small holes in the 3D model (transitions between triangulated NURBS areas) during blending calculation

4.0

bSplitLargeMeshes

[0, 1]

splits very large into smaller triangle lists

4.0

bPostProcessBlending

[0, 1]

image-based postprocessing of the generated blend masks to improve the edge representation

4.0

bNoBlending

[0, 1]

no blend mask should be calculated

5.0

bAutoObserverConversion

[0, 1]

carries out an observer conversion of used displays

4.0

bUseCurrPrjMask

[0, 1]

display mask should be used when generating the display maps/blendings

4.0

bFillSmall3DMeshHoles

[0, 1]

fixes small holes in the 3D model (transitions between triangulated NURBS areas) directly in the 3D model

4.0

qSmallHoleContourMax

[1 .. n]

maximum contour size of a 3D model to detect small holes

4.0

qSmallHoleSearchSz

[1 .. n]

determines the coupling width of the search filter for small hole detection in a 3D model

4.0

smallHoleAngle

[0 .. 360]

defines an angle in degrees to determine the shape of small holes

4.0

  <define name="3D.BaseParam" type="3DModel" >
    <param file="SC_MT_1.sps"           tMethod="static model"
           model="externModel"          externAssigns="$ARVA$Assigns$"
           bUseModelCntSpace="1"        bUseDisplMap="1"
           bGenP2WMap="1"               bFillSmallMeshHoles="1"
           bSplitLargeMeshes="1"        bPostProcessBlending="1"
           bAutoObserverConversion="1"  bUseCurrPrjMask="0"
           bFillSmall3DMeshHoles="1"    bNoBlending="0"
           qSmallHoleContourMax="80"
           qSmallHoleSearchSz="1"       smallHoleAngle="10"
    />
  </define>

3.2. action="Configure" state="DeviceSel"

Type of the separate parameter block: SC_DevSel Available sections:

  • multiple <display> sections can be specified

  • apart from tCalib, all attributes in the <param> section are optional

sectionattributevaluedescriptionversion

<param>

tCalib

SingleManual

manual single display calibration

4.0

OldAny

legacy calibration method for any surface

4.0

any

calibration method for any surface

4.0

flat

calibration method for flat surfaces

4.0

curved

calibration method for curved and dome-shaped surfaces

4.0

externP2C

external geometric calibration

4.0

RoundCave

custom curved screen calibration

4.0

Manual

manual multi-display calibration

4.0

Preceeding

blending calculations based on previous calibrations

4.0

extern3DModel

3D model-based calibration based on external information

4.0

tArrangement

strip

automatic display strip arrangement detection

4.0

grid

arbitrary display arrangement

4.0

hStrip

horizontal display strip arrangement

4.0

vStrip

vertical display strip arrangement

4.0

tCamSpaceConvert

none

no camera space conversion

4.0

SrcToDst

source to target camera space conversion (master-slave camera system)

4.0

calibName

[identifier]

name (description) of the calibration

4.0

fileName

[filename]

name of the file to where the calibration should be saved (not always available)

4.0

contentRatio

free

arbitrary (=maximum) aspect ratio

4.0

[x:y]

predefined aspect ratio (e.g. [16:9]

4.0

geometricScanSize

[float]

parameter for setting the geometric scanning range (e.g.: 1.2)

4.0

blendingLinearizeSz

[int]

linearization width required for the blending calculation (should always be 0)

4.0

bHQBlending

[0, 1]

high-quality blending calculation

4.0

bContourBlending

[0, 1]

contour-based blending calculation

4.0

bAdditionalLNS

[0, 1]

additional calculation for any surfaces

4.0

bCntBasedManualMP

[0, 1]

content-based manual calibration

4.0

bOutsideCamView

[0, 1]

calibration beyond the visible camera image

4.0

bFillAbsentBubbles

[0, 1]

unrecognized measuring points should be extrapolated

4.0

bFixLinePattern

[0, 1]

improves the line pattern against noise, etc.

4.0

bExtLoD0

[0, 1]

Using a non-planar LoD0 hypothesis

4.0

bRegulariseLNS

[0, 1]

eliminates outlier

4.0

bCalcDisplayPose

[0, 1]

determination of the display pose of all calibrated displays

4.0

bP2WAvailable

[0, 1]

not commented

4.0

bAutoCntSpaceConvert

[0, 1]

automatic content space conversion

4.0

bSavePartialCalib

[0, 1]

writes the calibration to a file after each display scan

4.0

bSetDisplayMask

[0, 1]

enables using display masks

4.0

bAWBCamera

[0, 1]

compensation for cameras with active auto white balancing

4.0

bVignetteFilter

[0, 1]

using a filter to compensate for a vignette effect

4.0

bAutoInvisibleBlendingCrop

[0, 1]

usage of an automatic clipping of non-visible display areas

5.0

qVisiblePrjRegionExtend

[0 .. n]

extension of the detected visible display area in display pixels

5.0

bUseMonoCamera

[0, 1]

usage of a monochrome camera

5.0

bUseHWBlend

[0, 1]

Generates scaling masks to enhance projections with hardware blend.

5.0

bForceNewScan

[0, 1]

If activated, a new geometric scan is always performed.

5.0

<display>

tDevice

sd

single display

4.0

name

[identifier]

name of the display

4.0

iDeviceGroup

[index]

Determines the index of the display to use if no name is specified, (starting with 1).

5.0

<camera>

tDevice

camera

single camera

4.0

name

[identifier]

name of the camera

4.0

iDeviceGroup

[index]

Determines the index of the display to use if no name is specified, (starting with 1).

5.0

  <define name="C1.DevSel" type="SC_DevSel" >
  <camera tDevice="camera" name="Logitech QuickCam Pro 9000" />
  <display tDevice="sd"    name="D2 SyncMaster (SAM04EA)" />
  <param tCalib="flat"         tArrangement="grid"
         tCamSpaceConvert="none"
         calibName="Test"
         contentRatio="16:9"   geometricScanSize="2.0"
         bHQBlending="0"       bContourBlending="1"
         bAdditionalLNS="0"
         bOutsideCamView="1"   bFillAbsentBubbles="1"
         bFixLinePattern="1"
         bExtLoD0="0"bRegulariseLNS="0"
         bCalcDisplayPose="0"  bAutoCntSpaceConvert="0"
         bSavePartialCalib="0" bSetDisplayMask="0"
         bAWBCamera="0"        bVignetteFilter="0"
         bAutoInvisibleBlendingCrop="0"
         qVisiblePrjRegionExtend="30"
         bUseMonoCamera="0"    bUseHWBlend="0"
         bForceNewScan="0"
    />
  </define>

3.3. action="Configure" state="ConvertConfig"

Type of the separate parameter block: CalibCommerce Available sections:

  • several <display> sections can be specified

  • apart from tConvert, all attributes in the <param> section are optional

  • several parameters from 3.4. can be used here as well

sectionattributevaluedescriptionversion

<param>

tConvert

custom content space conversion

converts selected calibrations in the specified content space

5.0

observer conversion

converts content mapping of the selected calibrations in the specified observer

5.0

exclude compound display

removes selected display calibrations from the used display compound

5.0

add VC to P2C

adds the current VC to the selected calibrations for content mapping and sets a standard VC

5.0

camera content space translation

generates a translation matrix for the used camera

5.0

pseudo 3D plane

generates a 3D mapping for the selected calibrations, based on a planar 3D model

5.0

pseudo 3D sphere

generates a 3D mapping for the selected calibrations, based on a spherical 3D model

5.0

pseudo 3D cylinder

generates a 3D mapping for the selected calibrations, based on a cylindrical 3D model

5.0

pseudo 3D equirectangular

generates a 3D mapping for the selected calibrations, based on a hemispherical 3D model with equirectangular distribution

5.0

merge calibration

merges selected compound/super compound calibrations to a compound/super compound calibration

5.0

auto frustum

calculates a possible visibility frustum for the displays of all selected calibrations

5.0

clone calibration

creates a copy of a selected calibration

5.0

remove P2C outlier

tries to eliminate outliers from within a selected calibration

5.0

smooth P2C

softens the edges of the content mapping of the selected calibration

5.0

PrjSpace overlap

allows each display used to be mapped into the display space of each display

5.0

Crop Display Geometry

allows clipping of the display geometry using mask files (image)

5.0

Crop Display Geometry with Projector Mask

allows clipping of the display geometry using the currently set display mask

5.0

delete calibration

allows deletion of the selected calibration

5.0

<display>

tDevice

sd

single display

5.0

dc

display compound

5.0

sc

super compound

5.0

name

[identifier]

name of the display/display compound

5.0

  <define name="Convert" type="CalibCommerce" >
    <display tDevice="dc" name="DC_Final" />
    <param tConvert="pseudo 3D sphere" bNoDefaultParam="1" />
    <param0 X="-180.0" Y="180.0" Z="0.0" W="90.0" />
    <!-- X => min uY => max uZ => min vW => max v | all in degree -->
    <param1 X="1000.0" Y="0.0" Z="0.0" W="0.0" />
    <!-- X => radiusY => radius2Z => unusedW => unused -->
  </define>

  <define name="Convert" type="CalibCommerce" >
    <display tDevice="dc" name="DC_Final" />
    <param tConvert="pseudo 3D plane" bNoDefaultParam="1" />
    <param0 X="1600.0" Y="0.0" Z="900.0" W="0.0" />
    <!-- X => widthY => …Z => heightW => … -->
    <param1 X="1000.0" Y="0.0" Z="0.0" W="0.0" />
    <!-- X => distanceY => unusedZ => unusedW => unused -->
  </define>

  <define name="Convert" type="CalibCommerce" >
    <display tDevice="dc" name="DC_Final" />
    <param tConvert="pseudo 3D equirectangular" bNoDefaultParam="1" />
    <param0 X="-180.0" Y="180.0" Z="-60.0" W="60.0" />
    <!-- X => min uY => max uZ => min vW => max v | all in degree -->
    <param1 X="1000.0" Y="0.0" Z="0.0" W="0.0" />
    <!-- X => radiusY => radius2Z => unusedW => unused -->
  </define>

  <define name="Convert" type="CalibCommerce" >
    <display tDevice="dc" name="DC_Final" />
    <param tConvert="pseudo 3D cylinder" bNoDefaultParam="1" />
    <param1 X="1000.0" Y="0.0" Z="0.0" W="0.0" />
    <!-- X => radiusY => radius2Z => unusedW => unused -->
  </define>

  <define name="Convert" type="CalibCommerce" >
    <display tDevice="dc" name="DC_Final" />
    <param tConvert="add vc to P2C"
           bNoDefaultParam="0"     bPostProcess="1"
    />
  </define>

  <define name="Convert" type="CalibCommerce" >
    <display tDevice="dc" name="DC_Final" />
    <param tConvert="custom content space conversion"
           customContentSpace="Model Name"
           bNoDefaultParam="0" bPostProcess="0"
    />
  </define>

  <define name="Convert" type="CalibCommerce" >
    <display tDevice="dc" name="DC_Final" />
    <param tConvert="observer conversion"
           customContentSpace="Pose Name"
           bNoDefaultParam="1" bPostProcess="0"
    />
    <param0 X="1.0" Y="0.0" Z="1.0" W="0.0" />
    <!-- X => scale XY => offset XZ => scale YW => offset Y -->
  </define>

  <define name="Convert" type="CalibCommerce" >
    <display tDevice="sd" name="Display 1" />
    <display tDevice="sd" name="Display 2" />
    <param tConvert="exclude compound display" bNoDefaultParam="0" />
  </define>

  <define name="Convert" type="CalibCommerce" >
    <display tDevice="dc" name="DC_Final" />
    <param tConvert="camera content space translation"
           customContentSpace="Model Name"
           bNoDefaultParam="0" />
  </define>

  <define name="Convert" type="CalibCommerce" >
    <display tDevice="dc" name="DC_1" />
    <display tDevice="dc" name="DC_2" />
    <param tConvert="merge calibration" />
  </define>

  <define name="Convert" type="CalibCommerce" >
    <display tDevice="dc" name="DC_Final" />
    <param tConvert="auto frustum"
           bNoDefaultParam="1"
    />
    <eyePoint X="100.0" Y="100.0" Z="100.0" />
    <param0 X="0.0" Y="0.0" Z="0.0" W="1.777" />
    <!-- X => unusedY => unusedZ => unusedW => prefered ratio -->
  </define>

  <define name="Convert" type="CalibCommerce" >
    <display tDevice="dc" name="DC_Final" />
    <param tConvert="clone calibration" />
  </define>

  <define name="Convert" type="CalibCommerce" >
    <display tDevice="dc" name="DC_Final" />
    <param tConvert="remove P2C outlier"
           bNoDefaultParam="1"
    />
    <param1 X="8.0" Y="0" Z="0.0" W="0.0" />
    <!-- X => filter sizeY => methodZ => unusedW => unused -->
  </define>

  <define name="Convert" type="CalibCommerce" >
    <display tDevice="dc" name="DC_Final" />
    <param tConvert="smooth P2C"
           bNoDefaultParam="1"
    />
    <param1 X="8.0" Y="0" Z="0.0" W="0.0" />
    <!-- X => filter sizeY => methodZ => unusedW => unused -->
  </define>

  <define name="Convert" type="CalibCommerce" >
    <display tDevice="dc" name="DC_Final" />
    <param tConvert="smooth P2C"
           bNoDefaultParam="1"
    />
    <param1 X="8.0" Y="0" Z="0.0" W="0.0" />
    <!-- X => filter sizeY => methodZ => unusedW => unused -->
  </define>

  <define name="Convert" type="CalibCommerce" >
    <display tDevice="dc" name="DC_Final" />
    <param tConvert="PrjSpace overlap" />
  </define>

  <define name="Convert" type="CalibCommerce" >
    <display tDevice="dc" name="DC_Final" />
    <param tConvert="Crop Display Geometry"
           bNoDefaultParam="1"
           path="c:\Mask.png"
    />
  </define>

  <define name="Convert" type="CalibCommerce" >
    <display tDevice="dc" name="DC_Final" />
    <param tConvert="Crop Display Geometry with Projector Mask" />
  </define>

  <define name="Convert" type="CalibCommerce" >
    <display tDevice="dc" name="DC_Final" />
    <param tConvert="delete calibration" />
  </define>

3.4. action="Configure" state="ExportConfig"

Type of the separate parameter block: CalibCommerce Available sections:

  • several <display> sections can be specified

  • apart from tConvert, all attributes in the <param> section are optional

sectionattributevaluedescriptionversion

<param>

tConvert

vwf separated

one vwf/bmp file pair per exported display calibration

4.0

vwf

one vwf file per exported display-compound calibration

4.0

DWM

not documented

4.0

x-file

calibrations are exported out in x file format

4.0

OpenWarp

calibrations are exported in the OpenWarp file format

4.0

MIPS

calibrations are exported out in the Barco MIPS compatible file format

4.0

MPCDI v1

calibrations are exported in MPCDI version 1 format

4.0

MPCDI

calibrations are exported in MPCDI version 2 format

4.0

SGC

calibrations are exported in Sciss SGC format

4.0

openEXR

calibrations are exported in ILM's openEXR format

4.0

DISI

calibrations are exported in Rheinmetall DISI X-treme format

5.0

NLIM

calibrations are exported in IG NLIM format

5.0

CalibData

calibrations are exported in "Calibration Data File" format

5.0

path

[filepath]

defines the folder in which the generated files should be saved

4.0

name

[identifier/filename]

defines the file prefix or the exact file name if bExactFileName = "1"

4.0

bNoVC

[0 , 1]

calibrations are exported without applying the virtual canvas

4.0

bNoGeom

[0 , 1]

calibrations are exported without applying the geometric adaption

4.0

bNoBlend

[0 , 1]

calibrations are exported without applying the blend masks

4.0

bNoMask

[0 , 1]

calibrations are exported without applying optional display masks

4.0

bNoBlack

[0 , 1]

calibrations are exported without black level compensation

5.0

bSplitDisplays

[0 , 1]

the individual parts of a split display are exported separately

4.0

bExactFileName

[0 , 1]

name attribute provides an exact filename (only available for tConvert = "vwf")

4.0

bScaleSplitDisplays

[0 , 1]

parts of a split display are scaled to the entire display size

4.0

b3D

[0 , 1]

instead of content mapping, the 3D information of the displays is exported

4.0

bToMaster

[0 , 1]

in case of a multi-client calibration, all exports are saved on the master computer

4.0

bVirtualContentRect

[0 , 1]

applies a virtual content rectangle

4.0

bBlankUnused

[0 , 1]

unused parts of a split display are blackened, otherwise, one homogeneous content mapping is exported

4.0

bExtendedDefFile

[0 , 1]

using a configuration file for performing more complex export tasks

4.0

bSilent

[0 , 1]

execution of the task without visual output

4.0

bNoAutoFileCreation

[0 , 1]

suppresses the automatic generation of export files

4.0

bUseBasePath

[0 , 1]

exports to the root data path instead of the export subfolder (if no explicit path was specified)

4.0

bNoDefaultParam

[0 , 1]

Prevents the use of default parameters. All required parameters must be specified.

4.0

bPostProcess

[0 , 1]

activates/deactivates the filtering of calculation results

4.0

bMergeRemote

[0 , 1]

If a multi-client calibration is exported, all exports for all clients are written to one export file.

4.0

bFixParam

[0 , 1]

If enabled, all additional parameters in the UI should be disabled.

4.0

gammaBlend

[0.0 .. 10.0]

Allows defining a gamma value to be applied to the blending texture (0.0 = disabled).

4.0

<grid>

row

[1 .. n]

indicates the number of lines for non-pixel-based export formats

4.0

col

[1 .. n]

indicates the number of columns for non-pixel-based export formats

4.0

<display>

tDevice

sd

single display

4.0

dc

display compound

sc

super compound

4.0

name

[identifier]

name of the display/compound

4.0

<source>

tSource

Core

the SPeASY core is the source (id parameter must be set)

5.0

GUI

the GUI is the source

5.0

Network

the network is the source (id and idString parameters must be set)

5.0

Process

a different process is the source

5.0

ProjectDesign

a project design is the source (idString parameter must be set)

5.0

id

[-1 .. n]

optional ID of the source

5.0

idString

[identifier]

optional identifier of the source

5.0

  <define name="Export" type="CalibCommerce" >
    <display tDevice="sd" name="D2 SyncMaster (SAM04EA)" />
    <param tConvert="vwf"
           path="C:\Export"        name="Script_Test.vwf"
           bNoVC="0"               bNoGeom="0"
           bNoBlend="0"            bNoMask="0"
           bNoBlack="0"
           bSplitDisplays="0"      bExactFileName="1"
           bScaleSplitDisplays="0" b3D="0"
           bToMaster="1"           bVirtualContentRect="0"
           bBlankUnused="0"        bExtendedDefFile="0"
           bNoDefaultParam="0"     bPostProcess="1"
           gammaBlend="0.0"

    />
    <grid row="21" col="21" />
  </define>

3.5. action="Configure" state="Validate"

Type of the separate parameter block: RenderPipe Available sections:

sectionattributevaluedescriptionversion

<param>

extern

[variabe]

Reference to an ini file; variable with required parameters

4.0

  <define name="RP1.config" type="RenderPipe" >
    <param extern="$ARVA$Assign$View1$" />
  </define>

or

sectionattributevaluedescriptionversion

<source>

tDevice

sd

capturing the content of a display

4.0

file

displaying the contents of a file

4.0

camera

display the output of a camera / live input device

4.0

name

[identifier]

name of the device if tDevice = "sd" or tDevice = "camera

4.0

iDeviceGroup

[index]

if no name and tDevice : not "file", determines the Index (starting with 1) of the used device within a device type

5.0

file

[filename]

Filename if tDevice = "file"

4.0

<target>

tDevice

sd

single display

4.0

dc

display compound

4.0

sc

super compound

4.0

name

[identifier]

name of the display/compound

4.0

iDeviceGroup

[Index]

if no name and tDevice : not "file", determines the Index (starting with 1) of the used device within a device type

5.0

ip

[IP]

IP address of a PC if tDevice points to a remote client (optional)

4.0

<param>

bUseVC

[0, 1]

toggles the virtual canvas

5.0

bUseGeomCorr

[0, 1]

toggles the usage or automatic geometric correction

5.0

bUseColorCorr

[0, 1]

toggles the usage or color correction

5.0

bAABorderSmooth

[0, 1]

toggles the usage of border smoothing

5.0

bUseEdgeBlend

[0, 1]

toggles the edge blending

5.0

bAutoSave

[0, 1]

toggles the usage of automatic saving options

5.0

bCompleteInit

[0, 1]

toggles the usage of re-initializing at the next start

5.0

bAugmentedElements

[0, 1]

toggles the usage of enhanced elements

5.0

  <define name="RP1.config" type="RenderPipe" >
    <source tDevice="file" file="E:\test.bmp" />
    <target tDevice="sd"name="D1(CMN1343)" ip="192.168.100.5" />
    <param bUseVC="1" bUseGeomCorr="1" bUseColorCorr="0"
           bAABorderSmooth="0"
           bUseEdgeBlend="1"
           bAutoSave="0" bCompleteInit="0" bAugmentedElements="0"
    />
  </define>

3.6. action="Configure" state="StartOption"

Type of the separate parameter block: RenderPipe Available sections:

sectionattributevaluedescriptionversion

<param>

bUseContentCache

[0, 1]

toggles usage of the content cache

5.0

  <define name="RP1.start" type="RenderPipe" >
    <param bUseContentCache="1" />
  </define>

3.7. action="Configure" state="all"

3.7.1. action="Renderer" subtype="dx9"

Type of separate parameter block: common Available sections:

sectionattributevaluedescriptionversion

<param>

file

[filename/variable]

name if the mrd-file to be used for configuring the renderer

5.0

  <define name="Renderer.Config" type="Common" >
    <param file="Test.mrd" />
  </define>

3.8. action="Create" type="Behaviour"

Type of the separate parameter block: BehaviourCreate Usually, this parameter block is not required. Available sections:

sectionattributevaluedescriptionversion

<param>

interactLevel

many

all interactions

4.0

reduced

reduced interactions

4.0

less

minimal interactions

4.0

minimal

all interaction disabled

4.0

  <define name="C1.Start" type="BehaviourCreate" >
    <param interactLevel="many" 
    />
  </define> 

3.9. action="Create" type="Behaviour" subtype="SingleClientCalib"

Type of the separate parameter block: BehaviourCreate Available sections:

  • several <display> section can be defined

sectionattributevaluedescriptionversion

<param>

interactLevel

many

all interactions

4.0

reduced

reduced interactions

4.0

less

minimal interactions

4.0

minimal

all interaction disabled

4.0

the following values ​​can also be specified as a comma-separated parameter list

4.0

NoInterResult

The result of each display calibration should not be displayed

4.0

NoFinalResult

The result of all calibrated displays should not be shown will

4.0

<display>

tDevice

sd

single display

4.0

dc

display compound

4.0

name

[identifier]

name of display/compound

4.0

iDeviceGroup

[index]

if no name is provided: determines the index (starting with 1) of the used device within a device type

5.0

  <define name="C1.Start" type="BehaviourCreate" >
    <param interactLevel="many, noInterResult" 
    />
    <display tDevice="sd" name="D1 NEC LCD1760NX (NEC6604)" />
  </define>

3.10. action="Create" type="CntSpace" subtype="3DModel"

Type of the separate parameter block: CntSpace Available sections:

sectionattributevaluedescriptionversion

<param>

modelFile

[filename/variable]

defines the 3D model file

4.0

matrixFile

[filename/variable]

optional; defines an XML file with a transformation matrix for the 3D model

4.0

matrixNode

[identifier]

optional; defines the section/attribute where the transformation matrix in matrixFile is defined

4.0

cullMode

cw

culling mode clockwise

4.0

ccw

culling mode counter-clockwise

4.0

none

no culling

4.0

cntSpaceW

[1 .. n]

denotes the size of the used content space in x direction

4.0

cntSpaceH

[1 .. n]

denotes the size of the used content space in y direction

4.0

bVolatileModel

[0, 1]

indicates that the 3D model file should be re-read before each calculation

4.0

bSuppressRootTrans

[0, 1]

suppresses an eventually existing basic transformation matrix of a 3D model file

4.0

bTransposeTransMat

[0, 1]

defines than an optional transformation matrix (matrixFile) has to be transposed before using it

4.0

  <define name="model param" type="CntSpace" >
    <param modelFile="D:\model.obj"
           matrixFile="D:\model.matx" matrixNode="Pose/Matrix4x4"
           cullMode="none"
           cntSpaceW="3072"           cntSpaceH="3072"
           bVolatileModel="1"         bSuppressRootTrans="1"
           bTransposeTransMat="1"
    />
  </define>

3.11. action="Create" type="file" subtype="bmp"

Type of the separate parameter block: CreateImage Available sections:

sectionattributevaluedescriptionversion

<param>

tImage

RGB

creates a 24-bit RGB image

5.0

RGBA

creates a 32-bit RGB image

5.0

GRAY

creates an 8-bit monochrome image

5.0

width

[size]

defines the x-dimension of the image in pixels

5.0

height

[size]

defines the y-dimension of the image in pixels

5.0

<background>

red

[value]

value ([0 .. 255]) for channel red of the background color

5.0

green

[value]

value ([0 .. 255]) for channel green of the background color

5.0

blue

[value]

value ([0 .. 255]) for channel blue of the background color

5.0

apha

[value]

only if tImage="RGBA: defines the alpha value of the background color

5.0

<target>

file

[filename]

sets the name for the file to be created

5.0

  <define name="CntFile" type="CreateImage" >
    <param tImage="RGBA" width="800" height="600" />
    <background red="255" green="255" blue="0" alpha="255" />
    <target file="Cnt.bmp" />
  </define>

3.12. action="Execute" type="Timer" subtype="Sleep"

Type of the separate parameter block: Common Available sections:

sectionattributevaluedescriptionversion

<param>

duration

[1 .. n]

duration in milliseconds

4.0

  <define name="StdWait" type="Common" >
    <param duration="2000" />
  </define> 

3.13. action="Execute" type="App"

Type of the separate parameter block: App

Applicable for subtype:start, restart, shutdown

Available sections:

sectionattributevaluevalueversion

<param>

tmSleep

[1 .. n]

duration in milliseconds before action is performed

5.0

name

[filename]

Used to specify the file name of the application to which the action refers. If name is not specified or empty, the parameter refers to the executing application.

5.0

param

[String]

can be used to define command line parameters

5.0

bWaitUntilFinished

[0 .. 1]

for subtype: start, enables waiting for the exit of the started app

5.0

  <define name="CloseApp" type="App" >
    <param name="notepad.exe" bWaitUntilFinished="1" />
  </define>

  <define name="Restart" type="App" >
    <param tmSleep="3000" param='/H' />
  </define>

3.14. action="Execute" type="OS"

Type of the separate parameter block: OS Applicable for subtype:restart, shutdown Available sections:

sectionattributevaluedescriptionversion

<param>

tmShowInfo

[1 .. n]

defines the display duration of the information dialog in seconds, if info was specified

5.0

info

[String]

can be used to define a reference text that will be shown at the execution of the action

5.0

bForceAppClose

[0 .. 1]

if activated, running applications will be closed automatically (data may be lost)

5.0

  <define name="Restart" type="OS" >
    <param tmShowInfo="10" info="System restart" bForceAppClose="1" />
  </define>

3.15. action="Load", "Save" type="file" subtype="sps"

Type of the separate parameter block: Common Available sections:

sectionattributevaluedescriptionversion

<param>

file

[filename]

name of the *.sps calibration file to be saved or loaded

5.0

bMustNotExist

[0 .. 1]

(optional) Available for action="Load". Controls whether the script will be executed further if the file does not exist.

5.0

fParam

[0 ..]

(optional) Can be used to define, which information from a file should be loaded. Additive, the following values are permitted as a sum:

5.0

1

the display calibrations should be loaded

5.0

2

the presentation status of the output lines should be loaded

5.0

8

the individual resource parameter should be loaded

5.0

128

the display-split information should be loaded

5.0

32

the output lines should not start automatically

5.0

256

the output lines should all be started after loading

5.0

512

loads calibrations that can not be assigned a display

5.0

<conditions>

Available for action="Load". Enables the conditional loading of a file (see 3.34)

5.0

If the "Calib.sps" file exists, then it will only be loaded if the display compound with the name "screen0" does not exist.

  <define name="sps" type="Common" >
    <param file="Calib.sps" bMustNotExist="1" />
    <conditions bAll="0" >
      <condition tCondition="calibnotexist" tDevice="dc" name="screen0" />
    </conditions>
  </define>

or

sectionattributevaluedescriptionversion

<param>

sel

[Selector/Variable]

Available for action="Load". Defines a selector that selects the desired file name from a list.

5.0

list

[Name]

Available for action="Load". Defines the name of the list that is to be searched for.

5.0

bOnlyNew

[0, 1]

Available for action="Load". If activated, the "Load" action should only be executed in case of a new selection.

5.0

3.16. action="Load", "Save" type="file" subtype="vc"

Type of the separate parameter block: Common Available sections:

sectionattributevaluedescriptionversion

<param>

file

[filename]

name of the *.vc definition file to be saved or loaded

4.0

bMustNotExist

[0 .. 1]

(optional) Available for action="Load". Controls whether the script will be executed further if the file does not exist.

5.0

<display>

tDevice

sd

single display

4.0

dc

display compound

4.0

sc

super compound

4.0

name

[identifier]

Name of the display/display compound for the virtual canvas to be loaded or saved

4.0

  <define name="sps" type="Common" >
    <param file="Calib.sps" />
    <display tDevice="dc" name="Compound 187" />
  </define>

3.17. action="Load", "Save" type="file" subtype="playlist"

Type of the separate parameter block: Common !The name attribute of the task specifies the presenter line for which the playlist should be loaded/saved! Available sections:

sectionattributevaluedescriptionversion

<param>

file

[filename]

name of the playlist file

6.0

bMustNotExist

[0 .. 1]

(optional) Available for action="Load". Controls whether the script will be executed further if the file does not exist.

6.0

  <define name="Playlist" type="Common" >
    <param file="LastPlaylist.xml" />
  </define>

3.18. action="Save" type="file" subtype="calibuserdata"

Type of the separate parameter block: Common Available sections:

sectionattributevaluedescriptionversion

<param>

file

[filename]

name of the target file

6.0

<display>

tDevice

dc

display compound

6.0

name

[identifier]

Name of the display/display compound for the virtual canvas to be loaded or saved

6.0

  <define name="userdata" type="Common" >
    <param file="CalibData.dat" />
    <display tDevice="dc" name="Final" />
  </define>

3.19. action="Load" type="file" subtype="calibuserdata"

Type of the separate parameter block: Common (The information in the source file is assigned via the name of the calibration.) Available sections:

sectionattributevaluedescriptionversion

<param>

file

[filename]

name of the source file

6.0

bMustNotExist

[0 .. 1]

(optional) Available for action="Load". Controls whether the script will be executed further if the file does not exist.

6.0

  <define name="userdata" type="Common" >
    <param file="CalibData.dat" bMustNotExist="1" />
  </define>

3.20. action="Transfer" type="file"

Type of separate parameter block: Transfer Available sections:

sectionattributevaluedescriptionversion

<from>

file

[filename]

name of the local file to be transferred (copied)

4.0

<to>

file

[filename]

name of the file on the remote location (any existing file will be overwritten)

4.0

  <define name="Backup" type="Transfer" >
    <from file="SH_Compounds.sps" />
    <to file="E:\Backup\SH_Compounds.sps" />
  </define>

3.21. action="Transfer" type="Export"

Type of separate parameter block: Transfer Available sections:

sectionattributevaluedescriptionversion

<source>

tSource

Core

the SPeASY core is the source (id parameter must be set)

6.0

GUI

the GUI is the source

6.0

Network

the network is the source (id and idString parameters must be set)

6.0

Process

a different process is the source

6.0

ProjectDesign

a project design is the source (idString parameter must be set)

6.0

id

[-1 .. n]

optional ID of the source

6.0

idString

[identifier]

optional identifier of the source

6.0

<local>/<remote>

bAll

[0 .. 1]

indicates that the export files of all PCs should be transferred

6.0

bBackup

[0 .. 1]

indicates that a backup of all files that are being overwritten should be made (only available when there's a backupSuffix specified)

6.0

path

[filepath]

Defines the folder in which the generated files should be saved

6.0

fileFmt

[fileformat]

Defines the file name (without extension!) of the created file. Placeholders are allowed: - $ip$: IP address - $org$: original file name

6.0

backupSuffix

[identifier]

defines an extension, with which the backup files will be highlighted

6.0

core

[IP]

available for <remote> specifies the IP address of the desired PC, empty data as placeholders for all remote PCs

6.0

tmOut

[0 .. n]

available for <remote> answers with wait time in milliseconds

6.0

  <define name="Backup" type="Transfer" >
    <source tSource="ProjectDesign"
            idString="8E113541-5698-488A-9FDF-5888F088AB22" />
    <local bAll="1" bBackup="1" path="e:\test" fileFmt="_Startup_$ip$"
           backupSuffix="bkp" />
    <remote core="" bAll="0" bBackup="1" path="e:\test_remote"
            fileFmt="_Startup_$ip$" backupSuffix="bkp" tmOut="5000" />
  </define>

Transfers the export files of an export task related to a specified project design. Saves all export files for all PCs locally in the "E:\test" folder and saves all files to be overwritten beforehand by appending the "bkp" extension. Furthermore, the specific export files for the remote PCs involved are stored on these in the folder "E:\test_remote" and saved previous files there as well.

3.22. action="Playlist"

Type of separate parameter block: Transfer The list of specified <itemchange> sections is processed from top to bottom. Available sections:

sectionattributevaluedescriptionversion

<itemchange>

tOp

add

adds a new item to the playlist

5.0

delete

deletes an item/all items from the playlist

5.0

refresh

refreshes an existing item/all items in the playlist

5.0

item

all

designates all existing items (available for tOp="delete" and tOp="refresh")

5.0

[index]

designates the item at the position index in the playlist (available for tOp="delete" and tOp="refresh")

5.0

file

designates a media file (available for tOp="add")

5.0

imgseq

designates an image sequence (available for tOp="add")

5.0

mrd

designates a 3D model rendering definition (available for tOp="add")

5.0

goto

designates a "go to item" control item (available for tOp="add")

5.0

stop

designates a stop control item (available for tOp="add")

5.0

pause

designates a pause control item(available for tOp="add")

5.0

param

[identifier]

defines a file/file filter (available for tOp="add" and item="file, imgseq, mrd")

5.0

flag

[CSV]

comma separated list with additional parameters (available for tOp="add")

5.0

none

no additional flags

5.0

disabled

initially deactivated item

5.0

autoplay

sets the autoplay flag of the item

5.0

mute

deactivates the items sound

5.0

select

automatically selects the item

5.0

infinite

signals that the item is to be played infinitely (image items)

5.0

loop

signals that the item is to be repeated (video, image item)

5.0

singelplay

combined flag; sets: loop, select, autoplay, infinite

5.0

iPos

[index]

designates the position at which the new item is to be added (available for tOp="add")

5.0

  <define name="RP.PL" type="Playlist" >
    <itemchange tOp="delete" item="all" />
    <itemchange tOp="add"item="file" param="Cnt.bmp" flag="singleplay"/>
  </define>

Deletes all items from the playlist. Then adds the file "Cnt.bmp" (located in the standard content folder) with "single play" properties to the playlist.

  <define name="RP.PL" type="Playlist" >
    <itemchange tOp="delete" item="6" />
  </define>

Deletes the item at playlist position 6.

3.23. action="Render"

Type of the separate parameter block: RenderTarget Available sections:

sectionattributevaluedescriptionversion

<param>

tTarget

file

the result of the rendering step is to be saved in a file

5.0

file

[filename]

name of the file if tTarget="file"

5.0

  <define name="Renderer.Target" type="RenderTarget" >
    <param tTarget="file" file="Output.bmp" />
  </define>

3.24. action="Manipulate" type="Calibration" subtype="Blending"

Type of the separate parameter block: BlendParam Available sections:

sectionattributevaluedescriptionversion

<display>

tDevice

dc

currently, only display compound calibrations are supported

5.0

name

[identifier]

name of the display compound

5.0

<param>

tMethod

uniform

sets a uniform edge blending, no additional parameters are required

5.0

standard

standard edge blending method; required attributes: plateau, gradient, gamma, gammaPrj

5.0

spline

spline-based edge blending method; required attributes: blackPt, whitePt, midPt, curvation, tensor, gamma, gammaPrj

5.0

plateau

[0 .. 100]

plateau parameter if tMethod="standard"

5.0

gradient

[-120 .. 120]

gradient parameter if tMethod="standard"

5.0

gamma

[-100 .. 100]

gamma parameter if tMethod="standard" or tMethod="spline"

5.0

gammaPrj

[2 .. 50]

display gamma parameter if tMethod="standard" or tMethod="spline" (22 is equivalent to 2.2, 5 to 0.5)

5.0

blackPt

[0 .. 100]

black point parameter if tMethod="spline"

5.0

whitePt

[0 .. 100]

white point parameter if tMethod="spline"

5.0

midPt

[0 .. 100]

midpoint parameter if tMethod="spline"

5.0

curvation

[0 .. 100]

curvation parameter if tMethod="spline"

5.0

tensor

[0 .. 100]

tensor parameter if tMethod="spline"

5.0

  <define name="SetBlend"type="BlendParam" >
    <display tDevice="dc" name="DC_Final" />
    <param tMethod="standard"
           plateau="50" gradient="8" gamma="0" gammaPrj="22"
    />
  </define>

3.25. action="Manipulate" type="Calibration" subtype="CalibChange"

Type of the separate parameter block: CalibChange The list of specified <change> sections is processed from top to bottom. Available sections:

sectionattributevaluedescriptionversion

<display>

tDevice

dc

currently, only display compound calibrations are supported

5.0

name

[identifier]

name of the display compound

5.0

<param>

bUseVC

[0, 1]

activates/deactivates the usage of the virtual canvas

5.0

bUseGeomCorr

[0, 1]

activates/deactivates the usage of geometrical correction

5.0

bUseColorCorr

[0, 1]

activates/deactivates the usage of underground color correction (if available)

5.0

bAABorderSmooth

[0, 1]

activates/deactivates the usage of border smoothing

5.0

bUseEdgeBlend

[0, 1]

activates/deactivates the usage of edge blending

5.0

bAutoSave

[0, 1]

activates/deactivates the auto-save function

5.0

bCompleteInit

[0, 1]

activates/deactivates the usage of the full initializing option on startup

5.0

<change>

tManipulate

power value

Sets the performance parameter for all compound displays/for the specific display. Required attributes: red, green, blue

5.0

reset mask

deletes the masks of all compound displays/for the specified display

5.0

set mask

Sets the mask of all compound displays/for the specified display in a picture file. Required attributes: maskFile

5.0

tDevice

sd

Only single displays are currently supported. If tDevice and name are not specified, the action is applied to all compound displays.

5.0

name

[identifier]

name of the display

5.0

red

[0.0 .. 1.0]

Determines the performance parameter for the red color channel, if tMethod="power value"

5.0

green

[0.0 .. 1.0]

Determines the performance parameter for the green color channel, if tMethod="power value"

5.0

blue

[0.0 .. 1.0]

Determines the performance parameter for the blue color channel, if tMethod="power value"

5.0

maskFile

[filename]

picture file, used as a mask, if tMethod="set mask"

5.0

  <define name="ChangeTest"type="CalibChange" >
    <display tDevice="dc" name="DC_Final" />
    <param bUseVC="1" bUseGeomCorr="1" bUseColorCorr="0"
           bAABorderSmooth="0"
           bUseEdgeBlend="1"
           bAutoSave="0" bCompleteInit="0"
    />
    <change tManipulate="power value" tDevice="sd" name="Display 1"
            red="1.0" green="0.0" blue="0.0" />
    <change tManipulate="power value" tDevice="sd" name="Display 2"
            red="0.0" green="1.0" blue="0.0" />
    <change tManipulate="set mask" maskFile="DisplayMask.bmp" />
  </define>

This define-section enables VC, geometric correction, and edge blending. Also, surface color correction, edge antialiasing, edge blur, autosave, and full initialization on startup are disabled for the "DC_Final" display compound. In addition, the performance parameters for display "Display 1" are set to all red and for display "Display 2" they are set to all green. Finally, the "DisplayMask.bmp" file is set as a mask for all displays combined in the "DC_Final" display compound.

3.26. action="Manipulate" type="Calibration" subtype="Mask"

Type of the separate parameter block: MaskParam Available sections:

sectionattributevaluedescriptionversion

<display>

tDevice

sd

currently, only single displays are supported

5.0

name

[identifier]

name of the display

5.0

<param>

scaleRed

[0 .. 100]

scaling factor for the red color channel

5.0

scaleGreen

[0 .. 100]

scaling factor for the green color channel

5.0

scaleBlue

[0 .. 100]

scaling factor for the blue color channel

5.0

scaleInverseRed

[-100 .. 100]

scaling factor for the inversed red color channel

5.0

scaleInverseGreen

[-100 .. 100]

scaling factor for the inversed green color channel

5.0

scaleInverseBlue

[-100 .. 100]

scaling factor for the inversed blue color channel

5.0

blackPt

[0 .. 100]

black point parameter

5.0

gamma

[-100 .. 100]

specifies the gamma value

5.0

bAdjustColor

[0, 1]

specifies if the mask color should be manipulated

5.0

bUseInverseColor

[0, 1]

specifies if the masks color channels should be inverted

5.0

bUseAlternativeGamma

[0, 1]

activates an alternative gamma method

5.0

bClampColor

[0, 1]

specifies that the color channels should be limited from 0 to 1

5.0

maskFile

[filename]

Picture file that should be used as a mask. If the attribute is empty, the mask will be set to white.

5.0

  <define name="SetMask" type="MaskParam" >
    <display tDevice="sd" name="D1 PROJECTOR (DPC7401)" />
    <param scaleRed="100" scaleGreen="100" scaleBlue="100"
           scaleInverseRed="0" scaleInverseGreen="0" scaleInverseBlue="0"
           blackPt="0" gamma="0"
           bContentAligned="0"
           bAdjustColor="1" bUseInverseColor="0" bUseAlternativeGamma="0"
           bClampColor="1" maskFile="mask.bmp"
    />
  </define>

3.27. action="Manipulate" type="Calibration" subtype="Blacklevel"

Type of the separate parameter block: BlacklevelParam BlacklevelParam is used to manipulate the black-level correction texture, which is used to uplift pixels to match the overlap of black. outColor = MAX( uplift, ( color + uplift * maintainBlack ) * ( 1 - maintainBlack * maintainWhite ) ) Available sections:

sectionattributevaluedescriptionversion

<display>

tDevice

dc

currently, only display compound calibrations are supported

5.0

name

[identifier]

name of the display compound

5.0

<param>

value

[0 .. 100]

black level correction parameter

5.0

maintainDark

[0 .. 100]

Percentage to shift values lower than uplift. (0=values are clipped, 100=values are shifted up)

5.0

maintainBright

[0 .. 100]

Percentage to scale color range. (0=values above white are clipped to white, 100=values are scaled to fit above uplift)

5.0

  <define name="SetBlacklevel" type="BlacklevelParam" >
    <display tDevice="dc" name="DC_Final" />
    <param value="20" maintainDark="0" maintainBright="0"
    />
  </define>

3.28. action="Manipulate" type="Projectmanager"

Type of the separate parameter block: ProjectManager Multiple operations can be specified successively. Available sections:

sectionattributevaluedescriptionversion

<operation>

tOperation

start design

starts the project designer

6.0

start activate

explicit start of the "activate" step

6.0

bQueued

[0, 1]

Controls if the subsequent operation should be executed if the project manager is currently running an operation. Else, the operation will be refused.

6.0

  <define name="Start_Designer" type="ProjectManager" >
    <operation tOperation="start design"/>
  </define>

Starts the project designer.

  <define name="Start_Designer"type="ProjectManager" >
    <operation tOperation="start activate" bQueued="1" />
  </define>

Explicitly starts the "activate" step. If the project manager is executing an operation, the operation will be executed right after.

3.29. action="Manipulate" type="NativeWB"

Type of the separate parameter block: NativeWB Multiple operations can be specified successively. The operations will be applied on displays, that were exported and addressed by <source> formerly. Available sections:

sectionattributevaluedescriptionversion

<source>

see 3.4

6.0

<operation>

tOperation

apply

sets native warp features like warping, blending

6.0

clear

deletes native warp featured like warping, blending

6.0

set overlap

sets a native display overlap

6.0

clear overlap

deletes a native display overlap

6.0

tDevice

dc

display compound

6.0

name

[identifier]

name of the display/display compound

6.0

tDestination

local

the operation should be executed on all involved local displays

6.0

tmOutAccess

remote

the operation should be executed on all involved client displays

6.0

tmWait

[0 .. n]

determined a fixed waiting time in ms to gain access to internal structures

6.0

<operation><standard><param>

Enables the specification of display-specific parameters. If there are none specified, the <standard> parameters will be used.

6.0

strOSDispID

[identifier]

OS display ID

6.0

hwDisplayID

[ID]

driver-specific display ID number (at least strOSDispID or hwDisplayID must be specified)

6.0

fFeature

warp

manipulation of the warp feature

6.0

blend

manipulation of the blend feature

6.0

simpleTriangulation

uses a simplified method for generating warp meshes

6.0

auto

calculates the overlap, based on the display warp

6.0

overlapFromSize

overlapH/overlapV specifies the desired display resolution (the actual one is calculated)

6.0

qTesselate

[0 .. n]

Determines the tesselation width in pixels to produce thinned warp meshes. Available for apply/clear warp

6.0

corrOverlapX

[0 .. n]

correction factor in x direction, used for warp operations (compensates for driver-specific errors), available for apply/clear warp

6.0

corrOverlapY

[0 .. n]

correction factor in y direction, used for warp operations (compensates for driver-specific errors), available for apply/clear warp

6.0

overlapH

[0 .. n]

specifies the horizontal overlap (depends on fFeature), available for set overlap/clear overlap

6.0

overlapV

[0 .. n]

specifies the vertical overlap (depends on fFeature), available for set overlap/clear overlap

6.0

  <define name="SetWarp"type="NativeWB" >
    <source tSource="GUI" />
    <operation tOperation="apply" tDevice="dc" name="screen0"
               tDestination="local" tmOutAccess="10000" tmWait="3000">
      <standard fFeature="warp,blend" qTesselate="50"
                corrOverlapX="0" corrOverlapY="0"/>
      <param strOSDispID="\\.\DISPLAY2" hwDisplayID="2147881095"
             fFeature="warp,blend" qTesselate="100"
             corrOverlapX="0" corrOverlapY="0"/>
    </operation>
</define>

Sets the warp/blend feature for all local displays addressed in display compound "screen0", exported by the user via UI. A tessellation width of 100 pixels is used for displays with the OS display ID "\\.\DISPLAY2". For all others, a tessellation width of 50 pixels.

  <define name="ClearAll"type="NativeWB" >
    <source tSource="GUI" />
    <operation tOperation="Clear Overlap" tDevice="dc" name="screen0"
               tDestination="local" tmOutAccess="10000" tmWait="3000">
      <standard fFeature=""/>
    </operation>
    <operation tOperation="Clear" tDevice="dc" name="screen0"
               tDestination="local" tmOutAccess="10000" tmWait="3000">
      <standard fFeature="warp, blend"/>
    </operation>
</define>

Deletes the warp/blend feature and the set overlap of all local displays addressed in display compound "screen0", exported by the user via UI.

3.30. action="Manipulate" type="GUI"

Type of the separate parameter block: GUI Available sections:

sectionattributevaluedescriptionversion

<element>

tSector

main

main UI/general elements

6.0

presentation

presenter line elements

6.0

tIdent

type

the element is addressed through its type

6.0

id

the element is addressed through its ID

6.0

tElement

window

window element

6.0

button

button element

6.0

combo

combo box element

6.0

menu

menu element

6.0

id

activate button

activate/deactivate button

6.0

calibrate button

calibration button

6.0

recalibrate button

recalibration button

6.0

playlist button

playlist button

6.0

liveinput button

live input button

6.0

colorblend button

color/blend button

6.0

display compound button

display compound button

6.0

additional output button

special output button

6.0

presopt fullscreen button

presenter option: fullscreen

6.0

presopt stacking button

presenter option: lending off/on

6.0

presopt auto save button

presenter option: autosave (network)

6.0

presopt full init button

presenter option: transfer everything new (network)

6.0

presopt color correction button

presenter option: pixel-accurate color correction

6.0

mrd adjust dialog

model-rendering adjustment dialog

6.0

wait dialog

wait-info-dialog

6.0

main menue

main window dialog

6.0

device target

output goal

6.0

notify task finish

special notification about the completion of a task

6.0

[ID]

the elements ID, if tIdent=id

6.0

behaviour

[name]

name of the behaviour depending on tSector

6.0

tRequest

set window text

changes the elements label

6.0

enable window

activates/deactivates an element

6.0

create client window

creates a client window

6.0

destroy client window

destroys a client-window

6.0

fSemantic

status information separated through commas

6.0

active

describes the active-status

6.0

inactive

describes the inactive-status

6.0

initial

describes the initial-status

6.0

bEnable

[0, 1]

indicates whether a specified state should be activated/deactivated

6.0

  <define name="Enable_Activate" type="GUI" >
    <element tSector="presentation" tIdent="type" id="activate button"
             behaviour="RP0"/>
    <param tRequest="enable window" bEnable="1" fSemantic="active"/>
</define>

Activates the "Activate" button of presenter line "RP0" (by activating the "active" state)

  <define name="Enable_Playlist"type="GUI" >
    <element tSector="presentation" tIdent="type" id="playlist button"
             behaviour="RP0"/>
    <param tRequest="enable window" bEnable="1" fSemantic="active, inactive"/>
</define>

Activates the "Playlist" button of presenter line "RP0" (by activating the "active" and "inactive" state, so the state of the presenter line decides whether the button is active)

  <define name="Disable_Playlist"type="GUI" >
    <element tSector="presentation" tIdent="type" id="playlist button"
             behaviour="RP0"/>
    <param tRequest="enable window" bEnable="0" fSemantic="active, inactive"/>
</define>

Deactivates the "Playlist" button of presenter line "RP0" (by deactivating the "active" and "inactive" state, so the button is always inactive, regardless of the state of the presenter line)

  <define name="Disable_Playlist"type="GUI" >
  <element tSector="main" tIdent="type" id="wait dialog"/>
  <param tRequest="create client window"/>
</define>

Creates a waiting dialog (dialog with progress bar)

3.31. action="Send" type="TCP" subtype="Command"

Type of the separate parameter block: NetCommand Available sections:

sectionattributevaluedescriptionversion

<target>

core

[IP]

IP address of the desired PC

5.0

iPort

[1 .. n]

port number

5.0

<param>

command

[String]

Command that should be sent (see Remote Control Reference documentation) !! code &-characters as &amp; !! Non-printable characters in the form: "%hh" with [hh] : 2-digit hex code (e.g.: "%0D%0A" => "\r\n")

5.0

tmOut

[0 .. n]

responds with wait time in ms

5.0

tFormat

optional, the specified command will be sent in the specified format

5.0

HTTP_GET

an HTTP GET request header is used

5.0

HTTP_POST

an HTTP POST request header is used

5.0

  <define name="test" type="NetCommand" >
    <target core="192.168.2.20" iPort="8080" />
    <param command="control.htm?present=1" tmOut="4000" />
  </define>

Sends a simple (String) command.

  <define name="test" type="NetCommand" >
    <target core="192.168.2.20" iPort="8080" />
    <param command="GET /control.htm?present=1 HTTP/1.1%0D%0A%0D%0A"
           tmOut="4000" />
  </define>
or
  <define name="test" type="NetCommand" >
    <target core="192.168.2.20" iPort="8080" />
    <param command="/control.htm?present=1" tmOut="4000" tFormat="HTTP_GET" />
  </define>

Sends the same command as an HTTP request.

3.32. action="Send" type="TCP" subtype="File"

Type of the separate parameter block: NetCommand Available sections:

sectionattributevaluedescriptionversion

<target>

core

[IP]

IP address of the desired PC

5.0

iPort

[1 .. n]

port number

5.0

<param>

source

[filename]

Specifies the source file (if not in the standard folder with path specification)

5.0

target

[filename]

Specifies the target file. If not specified, the source file name will be used. If there's no path given, the file will be saved in the respective standard folder.

5.0

tFile

Content

content (image) file

5.0

Calibration

calibration file

5.0

Export

export file

5.0

3DModel

3D model file

5.0

Script

script file

5.0

Execute

executable file

5.0

Playlist

playlist file

5.0

tmOut

[0 .. n]

responds with wait time in ms

5.0

command

[String]

Command that should be sent (see Remote Control Reference documentation) !! code &-characters as &amp; !! if not specified, "/file" will be used

5.0

  <define name="test" type="NetCommand" >
    <target core="192.168.2.20" iPort="8080" />
    <param source="datei.png" target="new.png" tFile="content" tmOut="4000" />
  </define>

3.33. action="IPC" type="Common"

Type of the separate parameter block: Common Multiple <perform> sections can be specified. Available sections:

sectionattributevaluedescriptionversion

<perform>

tAction

finish

stops a specific (tTask)/current IPC-task

5.0

tTask

guided

specifies a guided calibration/manipulation IPC-task

5.0

iError

[0 .. n]

can be used to specify an error ID

5.0

  <define name="test" type="Common" >
    <perform tAction="finish" tTask="guided" iError="1" />
  </define>

3.34. action="Condition"

Type of the separate parameter block: Condition Multiple <option> sections can be specified. Available sections:

sectionattributevaluedescriptionversion

<maker>

tMaker

GUI

Specifies that the condition must be determined through the GUI

5.0

core

Specifies that the condition must be evaluated through the core

5.0

network

Specifies that the condition must be evaluated through a network request

5.0

process

Specifies that the condition must be evaluated through a different process

5.0

<param>

tCondition

user confirm

Indicates that user confirmation is required (tMaker="GUI")

5.0

task condition

general task condition (tMaker="core", "network")

5.0

desc

[String]

optional string, which is passed on to the decisive entity and may contain additional information

5.0

<option>

tOption

yes

Specifies the general positive case (yes, okay, etc.)

5.0

no

Specifies the general neutral case (no, cancel, etc.)

5.0

error

Specifies the general error case (error, abort, etc.)

5.0

tAction

continue

Continues processing the script normally

5.0

abort

Aborts processing the script

5.0

extCmd

additional commands that should be executed during the choice of the respective option, separated through commas

5.0

informUser

The user is to be informed (available for tMaker="core", "network")

5.0

<conditions>

Section for specifying conditions

5.0

bAll

[0 .. 1]

determines if all conditions must be met

5.0

<conditions/ condition>

tCondition

CalibNotExist

tests whether the specified calibration does not exist

5.0

Picturall_Calibration_Start

Available for tMaker="network". Tests whether a Pictureall server successfully switched to VIOSO calibration mode. Either the response of the last "send" action or an immediate "send" action is executed. If tSource="send_command", the command string may be left out.

5.0

Picturall_Calibration_Active

Available for tMaker="network". Tests whether a Pictureall server is currently in VIOSO calibration mode. Either the response of the last "send" action or an immediate "send" action is executed. If tSource="send_command", the command string may be left out.

5.0

Picturall_Calibration_Stop

Available for tMaker="network". Tests whether a Pictureall server successfully ended VIOSO calibration mode. Either the response of the last "send" action or an immediate "send" action is executed. If tSource="send_command", the command string may be left out.

5.0

Picturall_Calibration_Transfer

Available for tMaker="network". Sends a file to a Pictureall server. Either the response of the last "send" action or an immediate "send" action is executed. If tSource="send_file", the command string may be left out.

5.0

HTTP_Request

Evaluates whether a HTTP request was successful

5.0

Behaviour_Finished

Evaluates how a behaviour was finished (no normal behaviour is used for wait action for finishing a behaviour)

5.0

tSource

Determines the source of the condition. "current", if not specified

5.0

current

The current condition is used.

5.0

send_command

The result of the TCP command is used. The required specifications for sending the command are expected (see 3.31.).

5.0

send_file

The result of a file transmission via TCP is used. The required specifications for sending the command are expected (see 3.31.).

5.0

tDevice

sd

single display

5.0

dc

display compound

5.0

sc

super compound

5.0

name

[identifier]

name of the display/display compound

5.0

  <define name="ConditionData" type="condition" >

    <maker tMaker="GUI" />

    <param tCondition="user confirm" desc="blabla" />

    <option tOption="yes" tAction="continue" />
    <option tOption="no" tAction="abort" />
  </define>

This define block specifies that the user must decide whether the currently running script should be resumed or aborted via the GUI.

  <define name="ConditionData" type="condition" >

    <maker tMaker="core" />

    <param tCondition="task condition" desc="" />

    <option tOption="yes" tAction="abort" extCmd="informUser" />
    <option tOption="no" tAction="continue" />
    <option tOption="error" tAction="abort" extCmd="informUser" />

    <conditions bAll="0" >
      <condition tCondition="calibnotexist" tDevice="dc" name="screen0" />
    </conditions>
  </define>

This define block specifies that the script will only resume being processed if the display compound named "screen0" exists. If the specified calibration does not exist or an error occurred, the user will be informed that the script will not be executed further.

  <define name="ConditionData" type="condition" >

    <maker tMaker="network" />

    <param tCondition="task condition" desc="" />

    <option tOption="yes" tAction="continue" />
    <option tOption="no" tAction="abort" extCmd="informUser" />
    <option tOption="error" tAction="abort" extCmd="informUser" />

    <conditions bAll="0" >
      <condition tCondition="picturall_calibration_start"
                 tSource="send_command">
        <target core="192.168.2.20" iPort="80" />
      </condition>
    </conditions>

  </define>

This define block specifies that the script will only resume being processed if the specified Picturall server has been switched to VIOSO calibration mode. The network command required for this is sent directly when the condition is evaluated. If the Picturall server could not be switched to VIOSO calibration mode, the user will be informed.

3.35. action="Wait"

Type of the separate parameter block: Condition Multiple <option> sections can be specified (see 3.34.). Currently available for state="finished".

  <task action="wait" name="Export0" state="finished" use="Export0Finished" />
  <define name="Export0Finished" type="condition" >
    <option tOption="error" tAction="abort" extCmd="informUser" />
  </define>
or
  <task action="wait" name="Export0" state="finished" >
    <option tOption="error" tAction="abort" extCmd="informUser" />
  </task>

This define block specifies that script processing should be aborted and the user informed if the specified behavior (Export0) ended in error.

4. additional configuration files

4.1.selector-parameter list

With a selector parameter list, a list of parameters can be defined, which can be selected/called upon via a selector. A parameter is defined by a <element> section, summarized by a higher-level <list> section.

sectionattributevaluedescription

<element>

selector

[value]

defines the selector value; the type of the selector depends on the attribute seltype

seltype

string

the selector is a string

integer

the selector is an integer number

float

the selector is a floating-point number

double

the selector is a floating-point number with double precision

value

[value]

defines the parameter value; the type of the parameter depends on the attribute valtype

valtype

string

the parameter is a string

integer

the parameter is an integer number

float

the parameter is a floating-point number

double

the parameter is a floating-point number with double precision

Example:

<?xml version="1.0"?>
<VIOSO>
  <list>
    <element selector="2.5" seltype="float" value="c1.sps" valtype="string" />
    <element selector="3" seltype="float" value="c2.sps" valtype="string" />
  </list>
</VIOSO>

The selector parameter list contains two entries. Each parameter defines a string (filename here) and can be selected using a floating point number.

Last updated