Making FX and transitions for Grid Pro using Max/MSP

From VidvoxWiki

Contents

Getting Started

This article assumes you already have some knowledge of how to use Max/MSP.

First download and install the Grid Pro SDK which contains several custom user interface objects commonly used in Grid Pro.

Grid Pro SDK

place the contents of one folder in your "max-startup" folder, place the contents of the other folder in your "max-help" folder. really, the SDK consists of just four objects: vvFXPanel, vvslider, vvPreset, and vvHSLColorPicker. once these are installed, they'll be available for creation from the menu bar in an open patcher widow (the row of icons below the window's title bar in an unlocked patcher). briefly, this is what they do:

vvFXpanel
Enlarge
vvFXpanel

vvFXpanel

this is in the background of all the fx, and is what allows them to function as chains. video from the previous effect comes out the left outlet, video to the next effect goes in the left inlet. you'll have one (and only one) of these in every effect you make.

vvSlider

vvslider
Enlarge
vvslider

this is the crazy little gesture slider that you see everywhere in gridpro.

vvPreset

vvpreset
Enlarge
vvpreset
this is the custom preset object we use. it works somewhat similarly to the standard max preset object, with a couple noticeable exceptions. first of all, it doesn't save preset data with patchers- you can only load/save presets from and to disk. look at a couple standard fx to get a handle on how we load/save presets automatically for fx- you can even just copy the vvPreset and connected objects from a standard effect. the second big difference is that while the max-standard preset object communicates with all UI objects, vvPreset saves the presets of all objects that are *named*. to name a max object, right-click (ctrl-click on mac) on an object, and choose "set name" from the pop-up menu. if you're wondering why a slider's preset isn't getting saved/restored, it's probably because you didn't name it.

vvHSLColorPicker

 vvHSLColorPicker
Enlarge
vvHSLColorPicker
this is the color picker we use. i threw it in the pile because it seems like a flexible color picker would be a useful thing to have for doing lighting. outputs RGB, YUV, and HSL colors, you set the input by specifying the location on a color wheel (either cartesian or polar coordinates).

SoftVNS or Jitter

as far as video handling goes- gridpro is built using the softVNS video libraries for max because they're optimized specifically for video, and are therefore a bit faster than jitter. fortunately, bridge objects exist for converting video between VNS and jitter; open the standard effect "mosaic" for an example of using v.jit to convert VNS to jitter and jit.softVNS to conver jitter matrices to VNS. if you don't have vns/are missing the v.jit/jit.softVNS objects (you'll see errors in the max window when you open the 'mosaic' effect)- just create blank patches with 1 input and 1 output called "v.jit" and "jit.softVNS", and save them somewhere in max's search path. this tricks max into thinking that the objects exist, so you'll be able to create/edit patches with v.jit/jit.softVNS, but they won't actually work (if you're running jitter, you won't need them anyway).

Making FX

the best way to get an idea of what a complete FX will look like, try opening one of the included FX located in the Grid Pro/FX5 folder. in most cases you can duplicate an existing FX and simply change the video processing objects and slider names. as far as troubleshooting your fx goes, you should create a rough patch first, and put it in gridpro's fx folder, then launch gridpro. you can test the patch in gridpro while you're editing it in max; just remove the FX from your FX-chain and re-create it in gp after you've saved changes in max.