Sequencing Model

The sequencing model is the term used to describe the functional grouping of objects, etc. that store and manage the arrangement and composition of a laser show in LaserLine, that is to say, the sequencing model figures out what gets displayed and when. It is from this model that output will be generated for the output controller and sent to various devices.

Model Composition

The sequencing model is composed of several types of objects:

  • Tracks: Every laser head is assigned to exactly one track.
  • Layers: Each track has 1 or more layers all of which get composited together rendering frames.
  • Sequences: A sequence is a time-linear arrangement of objects which we call "Sequence Elements". Each layer contains a single root sequence.
  • Sequence Elements: Are objects capable of generating a rawframe at a given progression within (0,1]. Sequences are a special kind of sequence element.

Types of Sequence Elements

Compositing Elements

  • Sequences: As mentioned above, sequences are a time-linear (non-overlapping) arrangement of sequence elements. Sequences are one of the most important kinds of sequence elements as they contain the logic necessary to layout elements.
  • Animations: Animations are like sequences but they divide time up evenly among each of its child elements. This is used almost exclusively for grouping frames.

Source Elements

  • Frames: Frames are the most basic element of a sequence. Frame elements produce constant output, that is, their output is the same regardless of progression.
  • Transitions: Transitions generate rendered frames dynamically. They can be used to connect two different sequence elements together.
  • Generators: Generate rendered frames from a function. This function could create a lissajous pattern, a spirograph, any other mathematical pattern.

You may notice that this list closely mirrors that of LZR XML Schema.