Afterglow is aimed at people who want to be able to craft light shows by designing and tweaking algorithms in real time while the show is running. Beyond being designed to allow you to inject your own code right into the frame rendering process, there are several ways that Afterglow differs from other lighting control software you may have encountered. The early stages of its rendering loop can work with higher levels of abstraction than the typical DMX channel value or fixture function (although those are well supported too):
- You can express your desired results in terms of an abstract color, including support for the hue-saturation-lightness model, which is great for algorithmic looks, and have it translated to whatever color channels (or color wheel) your fixture supports.
- Groups of moving heads can be told to face particular directions by specifying parameterized vectors, or to aim at a particular point in space, and Afterglow figures out how to translate that into DMX control values given its understanding of the fixture and where, and at what angle, you hung it.
- There are a variety of oscillators which can efficiently drive effect parameters.
- You can also create complex effects, with adjustable parameters that can be controlled through a rich binding to an Ableton Push controller. There is also a web interface for show control, and lower-level bindings can be created via MIDI and OSC. Rich bindings to other control surfaces will be added as development progresses, and are welcomed from others.
- The timing of effects is pervasively influenced by a deep notion of musical time, with support for synchronization via MIDI clock or Pioneer Pro DJ Link beat grids.
- You can even host Afterglow within Cycling ‘74’s Max visual interactive environment, through the related afterglow-max project.
As suggested by its version number, Afterglow is still at an early stage of development, and is growing rapidly. It is already able to create beautiful effects, and the experience of controlling them through the pressure sensitive pads on the Push, while tweaking them through a REPL, is quite a trip. If anyone is interested in exploring it, the author is eager to help with the setup process and the creation of new fixture definitions for early adopters. Feedback about the documentation or any aspect of the system is warmly welcomed.