The system is able to manage sequences.
A sequence can be considered like a messages list with time information.
In a sequence, the base time is expressed in SECOND. This time is converted later with play parameters. When editing a sequence, a message date can be noted second:u_second or with a fraction second/precision. In the later, second is divided by precision
The sequencer has a global tempo expressed in BPM. Furthermore a sequence has additional properties:
The unique ID is used to identified a sequence in a controller script.
The Begin Marker and the End Marker are used to define a
selection in a sequence.
When playing the sequence, only the selection will be read.
The markers can be considered like special messages in the sequence. They have
a time position like other message.
The Play time length is play parameter. It defines the effective playing time.
It is expressed by a fraction len/precision which corresponds to musical measure.
For instance, 4/4 corresponds to 4 beats.
This parameter is relative to the global tempo and can be use to do time streching.
If len is null, the sequence is played without stretching.
The Quantization parameter is expressed in the same way (len/precision). It allows time rounding at the precision specified.
The Quantization Mode defines how the messages are quantized.
The Default synchronisation parameter is expressed also in the same way (len/precision). It specifiies the default playback synchronisation.
The Ouput port defines the first value for all messages in the sequence. Output port is not assigned if its value is -1.
The Mute state defines if the sequence is muted or not.
The Loop mode defines if the playback is done in loop or not.