All posts tagged VJ

Lotus Lives Projection Documentation

The premiere performance of Lotus Lives took place in the Middlebury College Concert Hall, which is a beautiful space, but not built for rigging lights or set. It does haveĀ a curved balcony running around the entire room, and architectural beams that could support high-tension cable for hanging screens. I built a scale model and started from there.


My original plan was to have 3 to 5 projectors spread out around balcony, with one video playback computer per projector. Each computer would run a Max/Jitter patch, with video cues triggered from a networked central control computer. This would allow each system to play back a smaller video file, reducing the chances of slow playback or crashing, and also mean shorter runs of expensive cable.

In the end, I went with the more-eggs-in-fewer-baskets approach, slicing out video from two computers to five projectors, which were almost all within arm’s reach of the control booth. I figured this would keep the different screens in perfect sync, and require fewer separate movies, making them faster to render and easier to manage.

Key to this plan was garageCUBE’s MadMapper projection mapping software. It uses the Syphon framework to allow different Mac applications to share the same space on the graphic card. Mapping is certainly doable within Max/Jitter, but I know that garageCUBE’s Modul8 VJ software has rock-solid under-the-hood performance, and MadMapper’s interface is friendlier than anything I could come up with in the time frame. I downloaded beta version of MadMapper 1 minute after it was released, started using it with VidVox’s VDMX software for live VJ gigs, and loved the results.


My final setup, in order from user input to image output, was this:

1. AKAI APC-20 MIDI controller
2. into a Max patch on a MacBook Pro, which sent the custom MIDI data out to a network, and back to the controller for visual response (the APC-20 only officially plays with Ableton, but the buttons are controlled by a range of MIDI signals — more on that in a separate post).
3. Another Max patch received the MIDI data from the network, and was on every playback computer — in this case, just the same MacBook Pro and a Mac Pro tower, connected with a crossover cable. This patch sent the MIDI signal to VDMX.
4. VidVox’s VDMX for video playback. The programs on each computer were identical, but loaded with different video files. One controller, two (or more) computers.
4a. The media files were on external G-Raid drives. I swear by those. eSATA connection to the MBP, Firewire 800 to the tower (it was an older, borrowed machine).
4b. I used the Apple ProRes422 (not HQ) codec for the movies. They were odd resolutions, larger than SD but smaller than 1920×1080, at 23.976 fps. I usually use motion JPG for VJ work to keep the processor happy, but found that ProRes422 was something that the Macs could handle, with a nice, sharp image.
4c. Several sections included audio playback as well. I went out through an M-Audio firewire box to the sound mixer’s board.
5. Out from VDMX to Syphon
6. From Syphon into MadMapper
7. From MadMapper out to a Matrox TripleHead2Go (digital version) hardware box. The computer sees it as a really wide monitor, but it splits the image out to two or three monitors/projectors.
8. TripleHead2Go to the projectors. The A-computer projectors were a trio of 4000 lumen XGA Panasonics with long lenses, and B-computer projectors were a 5500 lumen WXGA projector and 3000 lumen Optoma on stage, doing rear-projection on a set piece that looked like a dressing room mirror (with border). That was at the end of a 150′ VGA cable run, with VGA amp. Worked well.
9. There was also a 6th projector hooked up to a 3rd computer, which played a stand-alone loop at a key moment in the action. This filled the ceiling with rippling light, turning the visuals up to 11.

The video was broken down into sections ranging from 30 seconds to 5 minutes long. The end of each section had a long tail of looping video, which would play until receiving the MIDI trigger, and then dissolve to the next clip. It would work like this:

Let’s say the fourth song has just begun. Clip 401 is playing in the “A” layer. The video crossfader is on A, so that’s being projected. This is happening on both computers. I press a button on the controller to load clip 402 into the B layer. It’s ready. The performers reach the cue in the music, and I press the GO button. Clip 402 starts playing, and VDMX crossfades from A to B. The crossfade speed is determined by one of the sliders on the controller, ranging from 0 to 5 seconds. Once layer A is clear, I press the eject button and the computer stops playing clip 401. Then I press the button to load clip 403 into A, and standby for the next cue.

In addition to this, I had a few extra layers that could be controlled manually. This way I was able to add new elements during rehearsal, and control some things by hand depending on the feel of the performance.

I found that even with VDMX set to pre-load all video into RAM, the visible layer would skip for a split second when the second movie was triggered, but just on some clips. It turned out that the first 20 or so clips to load when the program was launched would play smoothly, but later ones wouldn’t. This is less of a problem now with SSD playback drives, and maybe with a newer update of VDMX, but I got around it by putting clips with more movement at the top of the media bin.

One other hitch is that the first MacPro tower that I borrowed had two 128 MB graphics cards, but the software could only use one of them. I traded it for a 256 MB card and all was well. Again, not a concern with newer computers, but something to look into if building a system with multiple graphics cards.

All in all, everything worked out well. For future productions, I plan to finish writing my Max/Jitter patch to include playback, and make the eject/load and clip selection process more automatic and fool-proof. Single-button operation, or tied into the lighting board. The MadMapper license is limited to two machines, but like Max (Runtime), VDMX can run a project on any number of machines — the license is only required to make changes and save. All of these programs are fantastic.