Skip to content

Sequences

A sequence is a WinScript Live resource used to combine events into a complete action such as:

  • turning off all projectors at closing time
  • giving a PLC commands to open theater doors
  • waiting for doors to close
  • synchronizing on-board audio and video in a dark ride
  • updating the controller's display
  • etc

Sequences are displayed in a grid view so they can be created quickly, controlled, and monitored from a single window.

Enable/Disable

Check the column marked 'D' to disable a sequence. This will prevent the sequence from starting and also stop the sequence if it is currently running.

Status

When in live mode, the status shows when a sequence is stopped, paused, playing, and set to loop. Status indicators are also interactive, allowing the sequence to be controlled from the same view.

Name

A sequence name can be any valid resource name. The name is used throughout WinScript Live. For example:

  • In sequence event parameters (such as Play and Stop)
  • Referenced by remote commands (such as Play and Stop)
  • In watch lists to write sequence state changes to the live log
  • Assigned to panel items (such as Buttons and Indicators)

Triggers

Triggers make it easy to play and stop sequences automatically. For example, a sequence can begin playing automatically when the controller powers on. Find more information on the Triggers page.

Options

Type

There are 2 sequence types: logical and timed

Logical

Logical sequences execute events as quickly as possible and support conditional logic.

'If' and 'Else' events can be used to skip groups of events depending on the expression results. This allows sequence execution to take alternate paths depending on the situation.

'Delay' events will stop processing the sequence for a minimum number of frames. This allows the sequence to yield its processing time to other sequences and prevent the sequence from running too quickly for remote devices.

This sequence type is best used for simple tasks that can run immediately. It's also ideal for making logical decisions prior to playing other logical or timed sequences. See more information on programming logical sequences here.

Timed

Timed sequences execute events based on a timecode source.

The timecode value can be internally controlled and incremented by the sequence or externally controlled from another source (i.e. SMPTE LTC Interface)

Each event is assigned:

  • A timecode value that signifies the precise frame when it will take effect.
  • A logical expression, called the pre-condition, to determine whether or not it will execute.

WinScript Live uses the script's pre-roll value to calculate when events must be acted upon for the effect to be perfectly synced. The controller's Sync Core uses this information to schedule operations directly within the audio sample clock, video frame clock, or sequence clock to achieve sub-millisecond precision.

This sequence type is best used for executing precisely timed events, especially events involving playback of media and other timed sequences.

See more information on programming timed sequences here.

Properties

Restart Enable

If Restart Enable is checked, a playing sequence will react to play events and triggers by restarting from the position specified by the play event. The lockout time specifies how long play events and triggers will be ignored once the sequence starts playing. If the lockout time is 0, the sequence will immediately allow Play events to restart playback.

If Restart Enable is not checked, a playing sequence will ignore all play events and triggers until it is stopped, paused, or has completed playback.

Wait for Device Responses

If Wait for Device Responses is checked, a logical sequence will not advance until an expected device response is received. events that do not expect a device response will ignore this property.

The sequence will hold on the current event until either a response is received or a communication timeout has occurred. It is good practice to check the device error variable to determine if a good response was received.

Timecode

There are 2 sequence timecode sources: internal and external

Internal

Internal timecode allows the sequence to control and increment its own unique timecode value based on the script's master clock.

When instructed to play, the sequence will immediately begin incrementing timecode starting at the pre-roll value. Once the end time is reached, the sequence will either stop or loop back to the start time if looping is enabled.

Since internal timecode is unique to its sequence, the behavior can be controlled using events like Play, Loop, Stop, Pause, etc. For example, Pause will immediately halt the timecode at its current value. A Play event would then cause the timecode to resume incrementing from that value.

External

When operating with external timecode, a sequence chases the specified timecode source.

In this mode, the sequence has no control over the timecode source. It can only be 'Armed' to chase the timecode or 'Disarmed' to ignore it.

Events will execute when the timecode is advancing forward normally.