Jun 7, 2010 Comments Off on VAL-SM
After doing a few custom installations using Quartz Composer with custom plug-ins, such as the Musical Cars installation, we decided to write a piece of software that could meet the complex needs of a Lighting Designer programming strings of Color Kinetics LED Lights.
Enter the VAL-SM software. Interface Builder was used to lay out the complex Cocoa-driven interface. Recently, the software was used to control the LED lights around the video screens at the Deadmau5 concert in BC Place.
All the effects played on the lights are composed as Quartz Composer compositions, allowing for a simple “plug-in” mechanism for adding custom effects.
The devices are also implemented as Quartz Composer compositions, containing the custom communication plug-ins. This provided an easy ubiquitous way to allow future expansion of the protocols without recompiling the tool itself.
Yet another Quartz Composer plug-in was used to create a dotted preview window for previewing devices, scenes, and effect groups in real-time.
What follows is a more detailed breakdown of the software interface. It breaks down to three sections.
The Device section lets the designer make a list of all the actual physical devices to be used to operate the lights in the installation. All Color Kintetics power supplies are supported, as well as the CueServer and DMX over ethernet.
The Scene section lets the designer create a 2D array of pixels that the devices can map into. For example, 25 ColorKinetics spds60 50×2 devices could map evenly into a 50×50 scene, and the lights laid out physically to create a 50×50 array of pixels; high enough resolution for video.
The Group section lets the designer create effects and map them to areas in the scene. In our example, we could create a single video playing over the whole 50×50 Scene. We could also map a different video to each 50×25 section of the screen, or even play 4 videos on 4 25×25 screens. The possibilities are endless.
The device mapping allows for wrapping of the strings into rows, which can be aligned in any of the possible 8 orientations (the image above shows this arrangement).