Skip to main content

Overview

The Pulse Generator plugin creates sequences with alternating ON/OFF cues that can be used for dynamic pulsing effects. It supports MAtricks-based patterns with wings, random ordering, and customizable timing.

Interactive Setup

The plugin prompts for configuration through interactive text inputs:
White Bump Mode
string
default:"false"
Enable white bump mode (sets fixtures to Gel 1.1). Values: "true" or "false"
Group Number
number
The group number to apply pulse effects to
Sequence Number
number
The sequence number where pulse cues will be stored
Exec Number
number
The executor number to assign the pulse sequence
Wings
number
default:"0"
MAtricks wings setting for pattern distribution
Random order
string
default:"false"
Shuffle fixture selection order. Values: "true" or "false"
Pulse Amount
number
Number of simultaneous pulses (fixtures lit at once)
Trig time
number
default:"0.1"
Trigger time in seconds for automatic cue advancement (ignored in white bump mode)
Fade time
number
default:"0.05"
Fade time in seconds for transitions (ignored in white bump mode)

What Gets Created

Cues

Creates pairs of ON/OFF cues for each pulse:
  • ON cues: Sets selected fixtures to 100% intensity (and Gel 1.1 if white bump mode)
  • OFF cues: Sets selected fixtures to 0% (or 100% in white bump mode)
  • Number of cue pairs: Pulse Amount * 2

Sequence Configuration

  • Tracking: OFF
  • Appearance: Blue=100, Red=50
  • OFF cues configured with:
    • Trigger: Time-based
    • Trigger time: Specified by user
    • Fade time: Specified by user
    • Mode: Release

Executor Configuration

  • Restart: Next
  • Priority: HTP
  • Off time: 0.2 seconds

Usage

1

Run the plugin

Execute the plugin:
Plugin "PulseGenerator"
2

Answer prompts

The plugin will prompt you for configuration:
  • White Bump Mode? (true/false)
  • Enter Group Number
  • Enter Sequence Number
  • Enter Exec Number
  • Wings?
  • Random order? (true/false)
  • Pulse Amount?
  • Trig time? (if not white bump mode)
  • Fade time? (if not white bump mode)
3

Automatic creation

The plugin will:
  • Enter blind edit mode
  • Apply MAtricks wings and interleave settings
  • Shuffle selection if random order requested
  • Create ON/OFF cue pairs
  • Configure timing and release mode
  • Set executor properties
  • Exit blind edit mode

Function Reference

Main Functions

PulseGen_Start()

Main entry point for the plugin. Orchestrates setup, creation, and cleanup.
local function PulseGen_Start()
  PG_setup()      -- Gather user input
  PG_create()     -- Create pulse sequence
  PG_clear()      -- Clear programmer
  PG_resetValues() -- Reset variables for next run
end

Setup Functions

PG_setup()

Prompts user for all configuration parameters through interactive text inputs.
local function PG_setup()
  PG_white = text('White Bump Mode?', PG_white)
  PG_grp = text('Enter Group Number', PG_grp)
  PG_seq = text('Enter Sequence Number', PG_seq)
  -- ... additional prompts
end

Creation Functions

PG_create()

Creates the pulse sequence with all cues and configuration.
local function PG_create()
  cmd('BlindEdit On')
  
  -- Apply MAtricks
  cmd('Group '..PG_grp)
  cmd('MAtricksWings '..PG_wing)
  if(PG_rnd == 'true') then
    cmd('ShuffleSelection')
  end
  cmd('MAtricksInterleave '..PG_amount)
  
  -- Create cue pairs
  while PG_cue <= PG_amount * 2 do
    cmd('Next')
    cmd('At 100')
    if(PG_white == 'true') then
      cmd('At Gel 1.1')
    end
    cmd('Store Sequence '..PG_seq..' Cue '..PG_cue)
    cmd('Label Sequence '..PG_seq..' Cue '..PG_cue..' "ON"')
    
    -- Create OFF cue with trigger
    if(PG_white == 'true') then
      cmd('At 100')
    else
      cmd('At 0')
    end
    cmd('Store Sequence '..PG_seq..' Cue '..(PG_cue + 1))
    cmd('Label Sequence '..PG_seq..' Cue '..(PG_cue + 1)..' "OFF"')
    cmd('Assign Sequence '..PG_seq..' Cue '..(PG_cue + 1)..' /trig=time /trigtime='..PG_trigTime..' /fade='..PG_fade..' /mode=release')
    
    PG_cue = PG_cue + 2
  end
  
  -- Configure sequence and executor
  cmd('BlindEdit Off')
  cmd('Appearance Sequence '..PG_seq..' /b=100 /r=50')
  cmd('Assign Sequence '..PG_seq..' Executor '..PG_exec)
  cmd('Assign Sequence '..PG_seq..' /track=off')
  cmd('Assign Exec '..PG_exec..' /restart=next /priority=htp /offtime=0.2')
end

Operation Modes

Standard Pulse Mode

In standard mode, fixtures pulse between 0% and 100% intensity:
  • ON cue: At 100
  • OFF cue: At 0 (with timed trigger)
  • Uses fade and trigger times for smooth transitions

White Bump Mode

In white bump mode, fixtures are set to white color and stay at 100%:
  • ON cue: At 100 + Gel 1.1
  • OFF cue: At 100 (maintains intensity)
  • Trigger and fade times set to 0
  • Useful for color bumps rather than intensity pulses

MAtricks Integration

The plugin uses MAtricks for pattern distribution:
cmd('Group '..PG_grp)
cmd('MAtricksWings '..PG_wing)      -- Apply wings
if(PG_rnd == 'true') then
  cmd('ShuffleSelection')            -- Randomize order
end
cmd('MAtricksInterleave '..PG_amount) -- Set pulse amount
MAtricks interleave determines how many fixtures light up simultaneously. With 20 fixtures and pulse amount of 4, every 5th fixture will light together.

Example Configurations

Fast Strobe Effect

White Bump Mode: false
Group Number: 1
Sequence Number: 100
Exec Number: 201
Wings: 0
Random order: false
Pulse Amount: 10
Trig time: 0.05
Fade time: 0.02

Random Chase

White Bump Mode: false
Group Number: 2
Sequence Number: 101
Exec Number: 202
Wings: 0
Random order: true
Pulse Amount: 1
Trig time: 0.2
Fade time: 0.1

Wing Pattern

White Bump Mode: false
Group Number: 3
Sequence Number: 102
Exec Number: 203
Wings: 2
Random order: false
Pulse Amount: 2
Trig time: 0.15
Fade time: 0.08
The plugin will overwrite the specified sequence number if it already exists. Make sure to use an available sequence number.
For smooth chases, set fade time to approximately half of trigger time. For sharper effects, use shorter fade times.
Use white bump mode when you want to bump through different colors on fixtures that are already lit, rather than pulsing intensity.

Build docs developers (and LLMs) love