Interactive Arts Programming

PROGRAMMING EXAMPLES


This page contains links to explanations and example Max patches that are intended to give instruction on some basic concepts of interactive arts programming using Max/MSP and Jitter.

The examples were written for use by students in the Interactive Arts Programming course at UCI, and are made available on the WWW for all interested Max/MSP/Jitter users and instructors. If you use the text or examples provided here, please give due credit to the author, Christopher Dobrian.

There are also some examples from the previous years' classes available on the Web: MSP examples and Jitter examples from 2004's class, and some other examples from 2005's class.

You can find even more MSP examples on the professor's web page for Music 147: Computer Audio and Music Programming.

And you can find still more Max/MSP/Jitter examples from the Summer 2005 COSMOS course on "Computer Music and Computer Graphics".


[Click on an image below for a text version of the actual Max patch.]


Max/MSP/Jitter Examples

April 5, 2006

Simplest MIDI file player

simplest MIDI file player


Simple MIDI file player

simple MIDI file player


Simplest audio file player

simplest audio file player


Simple audio file player

simple audio file player


Simplest video file player

simplest video file player


Simple video file player

simple video file player


April 10, 2006

Play a chromatic scale with MIDI

play a chromatic scale with MIDI


Make a linear crescendo with MIDI

make a linear crescendo with MIDI


A-B video switch

AB video switch


A-B video switcher (using gate)

A-B video switcher (using gate)


Scrub through a video file

scrub through a video file


April 12, 2006

A-B audio switcher (using selector~)

A-B audio switcher (using selector~)


too simple amplitude control (show clicks)

too simple amplitude control (show clicks)


simple amplitude control (smooth change, no clicks)

simple amplitude control (smooth change, no clicks)


A-B video crossfade

A-B video crossfade


simple audio file player 2 (using number~)

simple audio file player 2 (using number~)


simple audio file player 3 (using gain~)

simple audio file player 2 (using gain~)


A-B audio crossfade 1

A-B audio crossfade 1


xfade~ (a useful subpatch)

xfade~ (a useful subpatch)


A-B audio crossfade 2 (using the xfade~ subpatch)

A-B audio crossfade 2 (using the xfade~ subpatch)


April 17, 2006

constrained randomness

constrained randomness


detect an event and trigger another event

detect an event and trigger another event


minimalist loops

minimalist loops


April 19, 2006

check the current position of a movie

check the current position of a movie


random 1-second movie excerpts

random 1-second movie excerpts


April 26, 2006

check the length of a movie

check the length of a movie


leap to a randomly chosen frame of a movie

leap to a randomly chosen frame of a movie


objects that access an audio buffer

objects that access an audio buffer


windowing an audio stream

windowing an audio stream


looping a fragment of audio

looping a fragment of audio


start processes using loadbang

start processes using loadbang


choose one of three movies

choose one of three movies


play one of three movies

play one of three movies


May 1, 2006

periodicity in Max and MSP

periodicity in Max and MSP


8 timed stripes of color

8 timed stripes of color


play chunks of a movie

play chunks of a movie


simple Go board in Jitter

simple Go board in Jitter


May 3, 2006

rangeslider demo

rangeslider demo


umenu demo

umenu demo


May 22 and 24, 2006

The following three image files will be necessary to make some of the patches below work. Download these files to the same folder as you download the patches.

mask.pict.zip  Sprite.gif  Spritemask.gif


getting the mouse position

getting the mouse position


mousing demo

mousing demo


paint colored lines

paint colored lines


dimension demo

dimension demo


sprite demo

sprite demo


subtitle demo

subtitle demo


make a mask image

make a mask image


mask by multiplication

mask by multiplication


mask by alphablend

mask by alphablend


lumakey demo

lumakey demo


chromakey demo

chromakey demo


This page was last modified May 24, 2006.
Christopher Dobrian
dobrian@uci.edu