The Power of Quartz Composer

March 28, 2011

So a few years ago, okay actually maybe closer to 10 years ago as it seems to be back in 2002 or 2003 that this happened; some guy wrote a killer app for the Mac platform called PixelShox Studio. This was a graphics app that allowed anybody to build a phenomenal animations. It used small “nodes” that did basic math and logic to drive what was displayed on the animation. For all intents and purposes what he built was essentially a sweet front-end to OpenGL.

So for example if you wanted to build an animation that took 2 quicktime videos and let you cross-fade between them, no problem!  Drop two quicktime renderer nodes, one for each video. Connect both of those to the A/B inputs of a cross-fade node and then the output of the cross-fade to a render node. Now drop a mouse reader and connect the X output to the cross-fade node as the “fade amount”. Switch to full-screen mode and you are done.  Put the mouse all the way to the left side of the screen and Video A plays. Put the mouse all the way to the right side of the screen and Video B plays. Put it somewhere in between and it will be a cross-fade between the two videos.

Fast forward a few years and suddenly the developer, Pierre-Olivier Latour, suddenly posts on the application homepage that he has taken a job in the graphics field and will no longer be working on PixelShox. He also leaves a cryptic comment that he can’t discuss the job any further than that. Hmm. A little over a year later Mac OS X 10.4 was released with a cool new application as a part of the developer tools. What was this application called? Quartz Composer.

Since the early days of PixelShox and Quartz Composer, a number of enhancements have been created both by Apple and 3rd party developers (some of whom have been hired by Apple over the years). One of these enhancements is ArtNet (DMX over Ethernet) control. So what does that mean to an innovative lighting designer? It means a lot!  Our Lighting Designer (unofficial title, but nobody would argue that he is what makes the services look great), Sam, worked for me in I.T. for a few years. So he is good with computers and very knowledgable about Mac software and has even done some software development. Working in I.T. he also got very good at working in Terminal and building shell scripts to automate stuff. Sam has a knack for mathematics and an incredible ability to not only visualize in his mind how he wants something to look but also design it in the world and make it happen.

Over the past few years we have used Quartz Composer for a few video related things. We’ve used it as a VJ (video-jockey) system a few times for various “party” programs we’ve done with the kids, but it was always with a person sitting in front of the computer running it via a MIDI controller or something. Over the past year Sam has begun to make use of it in much better ways. Especially with the last two stage sets which made use of extra projectors we have lying around. They are old and not very bright so they don’t do much good being primary room projectors, but do great with projecting on something that is a few feet away and just needs to look flashy and cool but not be distinct and readable.

As I said, Sam started working on this about a year ago, maybe a little less. It started again as a way to have a person select what videos to run on the screens and have smooth transitions. The idea was to put the computer running Quartz Composer down with the person running lights so they could make sure the videos transitioned when they desired and also matched colors with the lighting they were currently doing. To pull this off he put in a few color controls. Hue, Brightness, Contrast.  Worked great! For the most part the lighting people did a great job in making everything look good.

The problem was it basically required the lighting person to load up all the lights on the light board and at the same time manually load up the video and color settings and try to get them activated at the same time, it was difficult to pull it off perfectly to say the least. That and it required the lighting person to work two computers at once. He needed to find a better way to do it. Enter DMX control. For those of you that don’t know what that is, DMX is the protocol used by lighting fixtures and the light boards that control them. It runs over a 3-wire (sometimes 5, but usually 3) closed system. Since network devices have gotten so cheap some lighting fixtures have started supported a protocol called ArtNet, which is basically DMX over IP.  Because DMX itself is 512 channels with only 256 possible values each, doing an entire universe update only takes 512 bytes. This is a good thing since for a light fade to be useful it must be smooth and that requires a lot of updates per second. Enter Kineme and their ArtNet plugin for Quartz Composer.

Using this plugin allows the designer to have the Quartz Composition to either send or receive information over ArtNet.  Because our light board natively supports ArtNet this became an extremely viable solution.  A few more months of tinkering and Sam has built a phenomenal system. The Quartz Composition now uses ArtNet to apply all effects. From the light board you can select which video is playing, set the hue, contrast, brightness and I think maybe even some other visual elements. It also supports multiple video tracks so you can fade between two videos or, I believe, layer videos on top of each other.

I apologize for the terrible pictures, it was dark and they were off my phone, but here are some shots. A short explanation of what you are seeing first.

  • The giant center backdrop is being projected on from our Christie projector, which we normally use for video playback of the message if needed. This is a feed by itself.
  • The next feed goes to the two hanging projector screens at the inside edges of the stage.
  • Another feed runs the two outside projector screens that are built into the walls.
  • A final feed runs the two small backdrops underneath the two hanging screens

We have 3 computers running the video feeds.  Two can be switched between the various outputs, one computer is hardwired to the two small backdrops.

photo-1.jpg

photo-2.jpg

photo-3.jpg

After Easter I will make another post with some updated information on this. I have been sworn to not divulge too much information, and definitely no pictures or videos, until after Easter. But I will give you a hint. See each of those individual circle/squares on the main backdrop? Sam devised a special version of the “media server” Quartz Composition that treats each of those as an individual screen. Each one can be controlled separately from the others. That means 98 individually controlled visual elements. I believe the number of DMX channels Sam needs for this composition is over 400.