Sequencer Objects

A Sequencer Object (or TraitLine Object) is an object edited on a single track of the sequencer in Drool's Editor. Sequencer Objects usually represent certain parameters of some other objects being modulated or turned on/off over time. They contain one or more data points, representing how the values of those parameters change over time. Sequencer Objects are almost ubiquitous and can reside in many different kinds of main objects, such as .lvl Objects and .leaf Objects.

Format

LengthData TypeMeaning
variablestringName of the main object where the parameter can be found
4int32Number of sub-levels under the main object to get to the specific sub-object/parameter. In general, if this number is 1, the parameter belongs directly to the main object; otherwise the parameter belongs to one of the sub-objects.

For each sub-level:

LengthData TypeMeaning
4N/AThe "magic number" identifying which sub-object or parameter is to be selected
4int32If mutiple sub-objects share the same "magic number", this number \(n\) selects the \(n\)th sub-object, using zero-based numbering. If the "magic number" can uniquely identify a sub-object or parameter, this number is set to -1.

After the sub-levels:

LengthData TypeMeaning
4int32The index identifying the data type of the values in the data points. See Trait Type Trait for a list of allowed values. The data type depends on the parameter being modulated.

Data Points

LengthData TypeMeaning
4int32Total number of data points

For each data point:

LengthData TypeMeaning
variableany of the Data Point TypesThe value of the parameter at a specific time

The data type is defined in the header. All data points in the same Sequencer Object have the same data type.

After the data points:

LengthData TypeMeaning
4int32Total number of displayed UI elements for data points on Drool's Editor. These are typically intervals represented by pairs of starting points and ending points. Each interval has a displayed value that is being applied over the entire interval. The displayed value should be equal to the sum of all values from the data points above that are within the interval. Typical examples are the pitch and turn parameters in a .leaf Object. The displayed values in these UI elements do not affect the actual data point values above. If this number is 0, the data points above are displayed "as is" (no special handling for display is required).

For each interval:

LengthData TypeMeaning
variableany of the Data Point TypesThe starting point of an interval. This contains the value of the parameter displayed on Drool's Editor starting from a specific time.
variableany of the Data Point TypesThe ending point of an interval. Only the time is important; the value is meaningless.

All UI elements have the same data type as the data points.

LengthData TypeMeaning
4int32Unknown
4int32Unknown
4int32Unknown
4int32Unknown
4int32Unknown
variablestringUnknown. See Intensity Trait for a list of allowed values.
variablestringUnknown. See Intensity Trait for a list of allowed values.
1boolUnknown
1boolUnknown
4int32Unknown
4float32Unknown
4float32Unknown
4float32Unknown
4float32Unknown
4float32Unknown
1boolUnknown
1boolUnknown
1boolUnknown