Here are a few Max patches that I worked on over the last week. The first two are smaller patches that explore specific concepts and effects, and the last one is a video playback system that I made for a performance at the 1+1=3 series that happened last Friday.
I feel like I’m starting to understand the ins and outs of Max a lot better, but I’m still struggling to effectively organize my patches. Moving forward, I want to start using send
and receive
more often, and try to break up my patches into self-contained areas.
That said, I’m really excited about programming in Max - coming from a sequential coding paradigm, it’s so nice to be able to connect inputs and outputs and visualize data flow in real time.
Randomized Grid
This patch demonstrates how to use the matrixctl
and router
objects to randomize the mapping between jit.scissors
and jit.glue
, which creates a sort of randomized grid effect on a source video. This is actually an improvement that Matt made on my original patch, which used a non-standard mxj
object to interleave 3 lists at once. Matt rewrote the patch to use a combination of zl.lace
and zl.group
to accomplish the same effect.
1+1=3 Performance
This patch is a video playback system that I built for my performance at 1+1=3 last week. This patch includes playback of GIFs using jit.movie
, switching between a microphone and recorded audio samples, a glitchy downsampling effect controlled by beat tracking on audio, and the jit.chromakey
video feedback effect that was demonstrated in last week’s class.