Even newer commands …

Disco pattern and disco run

Disco run allows a sequence of arbitrary commands to be defined and then for that sequence to be run on the light.  Hold can be used to introduce a delay into the sequence.  Disco pattern is used to define the sequence to run.

The pattern can be changed while the previous pattern is running.

For example:

disco pattern [on;colour <255,0,0>;hold 1; | colour <0,0,255>;hold 0; |LOOP]; 

will define a pattern with two parts, the | separates the parts. The addition of LOOP at the end will make the pattern repeat until stopped manually.  Without the LOOP, the pattern would run once and stop.  The pattern has to be wrapped inside [].

The sequence is started by:

disco run;

and stopped by

disco off;