Skip to content
Carl Corcoran edited this page Aug 3, 2026 · 4 revisions

Somatic-specific pattern effect commands

C (cut to next pattern)

Represents the last row to be played in the pattern. A way to shorten a pattern. The row to be played after the row with "C" somatic command is the first row of the next pattern in the song order.

No params (ignored).

E (effect strength)

F (lowpass filter strength)

L (set lfo phase)

P (set panning)

export const kSomaticPatternCommand = defineEnum({
   EffectStrengthScale: {
      value: 0,
      tic80SerializedValue: 1, // 1-based so that 0 can mean "no effect"
      keyboardShortcut: "e",
      patternChar: "E",
      description: "Effect strength scale (00=bypass, FF=max)",
      nomivalValue: 0xff,
   },
   SetLFOPhase: {
      value: 1,
      tic80SerializedValue: 2,
      keyboardShortcut: "l",
      patternChar: "L",
      description: "Set LFO phase (00 - FF)",
      nomivalValue: undefined,
   },
   FilterFrequency: {
      value: 2,
      tic80SerializedValue: 3,
      keyboardShortcut: "f",
      patternChar: "F",
      description: "Lowpass strength scale (00=bypass, FF=max)",
      nomivalValue: 0xff,
   },
   PatternEnd: {
      value: 3,
      tic80SerializedValue: 4,
      keyboardShortcut: "c",
      patternChar: "C",
      description: "Cut to next pattern after this row",
      nomivalValue: undefined,
   },
   Pan: {
      value: 4,
      tic80SerializedValue: 5,
      keyboardShortcut: "p",
      patternChar: "P",
      description: "Channel pan (00=left, 80=center, FF=right)",
      nomivalValue: undefined,
   },
});