Creating and Recording Groups

Groups are the ideal mechanic for quickly selecting and modifying segments of DMX channels. They're also great for logically separating DMX channels for easy interpretation.

A great example would be the use of groups to segment the red, green, and blue channels of multiple RGB fixtures. In doing so, we're able to quickly (and easily) target and adjust those groups using rules and CueScript. Rather than remembering the fixtures channel ranges, then manually selecting the first, second, or third channels of each fixture in that range, we simply use the group as a convenient handle.

But what's the best way to actually set up these groups? That's what we'll be covering in this article.

The Scenario

In this scenario, we're working with a single DMX universe of 170 RGB pixels, each utilizing 3 channels. We want to quickly group these channels into Red, Green, and Blue groups.

The Breakdown

The simplest way to define a group is to open the group's panel and add a new group, then manually define that groups channels:


This is great for a small group, but when we're working with over 500 channels, it's not ideal -- we want to compile the contained channel list MUCH faster.



That's where CueScript comes in. With CueScript, we can use simple logic to manipulate large groups of channels and then capture groups, cues, presets, etc. off of said manipulations. Let's start with just the Red channels.

To do this, we'll need to target the red channels. Since we can't select a range excluding some channels without specifically defining which channels to exclude - which would defeat the purpose (i.e. ch 1+4+7...) - we'll need to manipulate the entire range in a way that we can later use to achieve our goal.

First, we'll target all 170 RGB fixtures and use an array to modify only the red channels:

channel 1>510 at {100,0,0}

In the above command, we're selecting the range of all the fixture channels (note 510 channels because this is where our fixtures stop), then we're setting the values of those channels to a three-item array (or series) of values. In this case, the three values correspond to red, green, and blue ( {[red],[green],[blue]} ).

This should result in a stage (or channel values) like so:


A small caveat: In the CueScript world, values are assumed percentages (between 1-100%), however, we can use decimal values (1-255) by prefacing our values with a hash or pound sign. For example, the array {50,0,0} will set all red channels to 50% (or 128 dec.), but the array {#50,0,0} would result in the channels being set to 20% (or 50 dec.).

Now that we've got our Red channels set to 255 and our Blue and Green channels cleared out, we can use that context to quickly define and capture our Red group.

In the command line, issue the following command:

record active group 1

This command tells CueServer to take all currently active channels (red channels) and record them into group 1.



Super simple! Now, all we have to do is name our group and we've got our Red's group.

The next step would be to shift the array one place to the right to set only the green channels active, then use the record command to record the new active channels into group 2. Wash, rinse, repeat until we have all our groups defined.



While we used the "active" modifier of the record command, there are many additional options available to cater to each situation. If you'd like to learn more about the record command and its options, check out the Record page of the online manual. This page contains its multiple contexts, including Record Cue, Group, Stream, and Stop. Also relevant is the Update command, which is useful for updating existing recorded items without overwriting their current properties.

Have a Tip or Trick you would like to see? Let us know!

We hope you enjoyed this Tip & Trick, and as always, if you ever have any suggestions or ideas that you would like to see
featured, shoot us an email at and let us know!