Effect Control


Effect control can be used to control motion seats as well as water, fog and light effects for 4D or 5D cinemas. It also allows to open and close the curtain, turn on and off the light and projector for fully automated presentations.

The Stereoscopic Player 1.5.4 and all later versions support three ways of effect control: DMX512 output, serial or UDP output and command execution. Effect data is loaded from an effect file and sent synchronously to the video and audio. To enable effect control, click File|Settings|Control|Effect Control. Serial or UDP output, DMX output as well as command execution can be enabled and configured separately.

Effect control does not work with a private license of the Stereoscopic Player. Either use an unregistered demo copy, a commercial license or a cinema license. Any COM port supported by Windows can be used for serial output. For DMX output, a supported DMX interface is required.

Effect File Format

The effect data are stored in a *.effx file, which is an XML file that can be edited with Windows Notepad. For a general introduction to the XML format, please see here. The Stereoscopic Player automatically loads the effect file if the filename of the video and effect files match (e.g. Sample.avi and Sample.effx) and both files are located in the same folder. The effect file starts with an XML header, followed by tags that are hierarchically structured. The root tag is EffectStream that can have BytesSamples, DmxChannels, DmxSamples or CommandSamples child tags.

The BytesSamples tag contains one or more BytesSample tags that hold the actual data. These data can be sent via a serial COM port or using the UDP protocol. A BytesSample tag must have a sampleTime attribute and a text or data attribute. The text attribute contains plain text while the data attribute contains hexadecimally coded data. Use the data attribute if you must send mostly binary data. Occasional binary values can also be included in the text attribute by using an escape sequence. The text attribute supports the following escape sequences:

Sequence Description Value
\\ Backslash 92 (5Ch)
\a Bell 07
\b Backspace 08
\t Horizontal tab 09
\n Line feed 10 (0Ah)
\v Vertical tab 11 (0Bh)
\f Form feed 12 (0Ch)
\r Carriage return 13 (0Dh)
\xx Any hex code xxh

The DmxChannels tag contains one or more DmxChannel tags that define which DMX slots are used and how they are grouped together. A DmxChannel tag must have a slotNumber and a slotCount attribute. If more than one slot is used for the channel, the byteOrder attribute allows to define whether the first slot contains the least (value little-endian) or the most significant byte (value big-endian). By default, the player holds the output value constant until the timecode of the next value has been reached. Optionally, a linear interpolation can be defined. To use interpolation, set the interpolation attribute to linear.

The DmxSamples tag contains one or more DmxSample tags. DmxSample tags contain the DMX data and work closely together with the DmxChannel tags. For each DmxSample tag, the channelIndex refers to the DmxChannel tag it belong to. The channelIndex is the one-based index into the list of DMX channels. The data attribute contains the DMX value. Either decimal or hexademical notation (with a leading x) is allowed. The valid range depends on the slotCount specified in the associated channel.

Slots Minimum data value Maximum data value
1 -128 255 (xFF)
2 -32768 65535 (xFFFF)
3 -8388608 16777215 (xFFFFFF)
4 -2147483648 4294967295 (xFFFFFFFF)
5 -549755813888 1099511627775 (xFFFFFFFFFF)
6 -140737488355328 281474976710655 (xFFFFFFFFFFFF)
7 -36028797018963968 72057594037927935 (xFFFFFFFFFFFFFF)
8 -9223372036854775808 18446744073709551615 (xFFFFFFFFFFFFFFFF)

The CommandSamples tag contains one or more CommandSample tags. A CommandSample tag must have a sampleTime and a file attribute. The parameters and folder attributes are optional. The file attribute can specify a Windows executable, script file or any other file that can be opened by the Windows ShellExecute function. Applications are started minimized so that they do not hide the video output.

Important: Enabling command execution puts your computer at risk. When this option is enabled, verify that there is no effect file or that the effect file does not contain any harmful commands before opening a video from untrustworthy sources!

Sample File

The following sample file illustrates the features of the effect file format and is a good starting point to create your own effect files.


If effect control does not work, then check the points below. To find out if the effect file has been loaded, click File|Video Properties|Filters. The Effect Source and one or more Effect Renderers should be in the filter list.

  • Is effect control enabled in File|Settings|Control|Effect Control?
  • Are the file names of the video and effect file identical?
  • Are you using a license other than a private license?
  • Are the COM ports configured properly (correct port, baud rate, stop bits and parity)?