Skip to main content

Effects Overview

The effects engine in phix generates procedural waveforms that continuously drive fixture attributes over time. Unlike a static cue that holds a fixed value, an effect oscillates โ€” creating chases, rainbow washes, pan/tilt circles, strobe patterns, and more.

What is an effect?#

An effect is a stored program that:

  1. Targets a set of fixtures
  2. Applies one or more waveforms (sine, square, triangle, saw, random, step) to chosen attributes
  3. Distributes the waveform across fixtures using phase spread
  4. Runs at a configurable speed (BPM)

How effects work#

Each effect contains one or more layers. Each layer targets a single attribute (e.g., Dimmer, Pan, ColorAdd_R) and generates values based on a waveform.

Waveform shapes#

ShapeDescription
sineSmooth sinusoidal oscillation
squareInstant snap between min and max
triangleLinear ramp up then down
sawtoothLinear ramp up, then snap back
randomRandom value changes
stepUser-defined step sequence

Phase spread#

Phase spread distributes the waveform offset across fixtures so they don't all move in sync. A spread of 1.0 (full) means the fixtures are evenly spaced across one complete cycle, creating a "ripple" or "wave" effect.

  • Spread 0.0 = all fixtures in phase (move together)
  • Spread 1.0 = evenly distributed across one full cycle

Blocks and wings#

  • Blocks โ€” group fixtures together so N fixtures share the same phase. With blocks 2, pairs of fixtures are in phase.
  • Wings โ€” create symmetrical effects that mirror from the center outward.

Value modes#

ModeDescription
AbsoluteWaveform oscillates between fixed min/max values
RelativeWaveform oscillates relative to the fixture's current value

In relative mode, the effect is added on top of whatever value the fixture already has from the programmer or a cue.

Preset references#

Instead of using numeric min/max values, effect layers can reference presets for their high and low values. This means changing the preset also updates the effect.

Starting an effect#

Apply a stored effect to the current selection:

fixture 1 thru 8effect 1.1    -- apply effect pool 1, slot 1

Stop all running effects:

stop effects

Stop a specific effect:

stop effect 1.1

Effects in cues#

Effects can be embedded in cues using effect CueItems. When the cue fires, the effect starts on the specified fixtures automatically. When the cue is released, the effect stops.

See Creating Effects for how to build and store effects.