Skip to content

Update sequencer syntax #1

@luistoledo

Description

@luistoledo

After using it, I discovered some inconsistency and figured out updates in the sequencer syntax, without breaking the simplicity of the interpreter and the unfold internal sequence (an array of integers).

basics

So a new basic syntax blueprint can be as follow:

  1. Basic sequence: 1, 2 ,3
  2. Random preset: 1, r, 3
  3. Ranges: 1-5[1,2,3,4,5]
  4. Repetition: 3x2[3,3]
  5. Mutation: 9m
  6. Not change: 1, , ,4[1,1,1,4]
  7. Skips: 1,2s5,3 the chances to skip the second preset are 5/10

Note on implementation: if the system re-process the sequencer input each replay loop, it will avoid modifying the unfold sequence structure, and will only require a couple of extra global playback counters

looping

New commands for loop control:

  1. Ping pong loop: 1,2,p
  2. Restart loop (current and default behavior): 1,2,l
  3. No loop: 1,2,s
  4. Number of repetitions: 1,2,L2 or 1.2,p2 repeats the sequence only twice

Looping behaviors should be set from an external function

groups

Grouping and group functions may be useful for advanced non-linear features:

  1. Simple groups: [1,2], [3-1][1,2, 3,2,1]
  2. Random from range from a sub-sequence: r[1,2,3] will pick a random preset from the group
  3. Repetitions: [1,2]x2, 5[1,2,1,2,5]
  4. Group jumps: [1,2]s2, 1 produces a 2/10 chance to skip the whole first group

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions