Home Chapter 17 Max MSP Jitter Kinect animation
Max MSP Jitter Kinect animation

Creating an Interactive animation using Max Msp Jitter and video playback files.

  Interactive Animation by Caleb Shuey Art & Technology Exhibition Autumm 2013. interaction is directed by skeletal recognition

Using FAAST—

In creating an interactive animation you begin by defining your “key” variables using FAAST code. 

These variables will allow you to create distinct paths for the animation, such as up, left, and right.

This will allow you to write a FAAST code such the one below:

# mappings from input events to output events

# format: event_name threshold output_type event

left_arm_out 10 key_press s

right_arm_across 15 key_press s


right_arm_out 10 key_press d

left_arm_across 15 key_press d


left_arm_up 10 key_press f

right_arm_up 10 key_press f

This code allows for both right and left hand usage. When either the right or left hand moves to the designated distance past the corresponding shoulder, the assigned keystroke will be performed. In this case if the right hand moves ten inches above the right shoulder the “f” key will be pressed.


From here we need to code a Max file.

If you have written your FAAST code using the “s,” “d,” and “f” it will be easier to write the Max code.

First create a “key” object and an integer box. Each port of the key object has a different way the keyboard is numbered and arranged. Connect the key object to the integer box using the second port from the left, this will make s=1 d=2 and f=3. Other settings can be confusing and hard to figure out which key is which.

Create “if then” statements for the three choices and connect them to buttons.

Test your code:

Lock the patcher and test your keys making sure that they light up the buttons and correspond to the proper key.

To view the movie you wish to import you can choose to see it in the patcher, or in a new window.

To create a video to view in the patcher window create a jit.pwindow attached to a jit.qt.movie.

To view the video in its own video window attach a jit.window to the jit.qt.movie (you can use both at the same time if you wish).

Remember both of these methods require a metro to play the movie.

If you don’t want the video playing constantly you will also need to at a system to stop the metro, such as a delay object.

Patch for download

When you have a video that plays the length of time you wish you can further adjust your keys.

You can also do a  delay using a switch.

This will help to keep the interactant from accidentally changing videos in the process of interacting with the work.  




 You can download the patch here

To produce a project that has more than one video, you can create multiple patchers connected to each other. If you choose to do this you can then add in other things such as “loadbangs,” “closebangs,” or this example “active” objects to control when videos do and do not play. To continue elaborating your code and project you can write more specific code.

One possibility would be to write code for the use of multiple screens, such as numerous projectors or TVs.

With customization you can create a project that loops, has multiple endings or is directed to a particular audience. 

In the example below notice that this is one complete MAX MSP patch and the top image right hand corner A patch cord connects to image A patch cord below.

Download MAX patch here