Sunday, April 27, 2008

The Final Cut














A final Processing experiment, this time with a changing number of videos. This video is an experience in overload, inspired by an exhibit at the MAM. The sound also reinforces the sense of overload - a deep, overdriven, drone.


Here's the code:

import processing.video.*;

int numScreens = 1;

Movie []movies = new Movie[6];

MovieMaker out;

void setup(){
size(320, 240);
movies[0] = new Movie(this, "stonesup.mov");
movies[1] = new Movie(this, "mossy-compost.mov");
movies[2] = new Movie(this, "pull-back.mov");
movies[3] = new Movie(this, "weird-plant.mov");
movies[4] = new Movie(this, "stones-left2.mov");
movies[5] = new Movie(this, "sticks-pullback2.mov");
movies[0].loop();
movies[1].loop();
movies[2].loop();
movies[3].loop();
movies[4].loop();
movies[5].loop();

out = new MovieMaker(this, width, height, "output.mov",
15, MovieMaker.H263, MovieMaker.LOW);
}

void draw(){
background(0);
if(numScreens == 1){
image(movies[0], 0, 0);
}
if(numScreens == 2){
println("2");
image(movies[0], 0, 0, width / 2, height);
image(movies[1], width / 2, 0, width / 2, height);
}
if(numScreens == 3){
image(movies[0], 0, 0, width / 3, height);
image(movies[1], width / 3, 0, width / 3, height);
image(movies[2], (width / 3) * 2, 0, width / 3, height);
}
if(numScreens == 4){
image(movies[0], 0, 0, width / 2, height / 2);
image(movies[1], width / 2, 0, width / 2, height / 2);
image(movies[2], 0, height / 2, width / 2, height / 2);
image(movies[3], width / 2, height / 2, width / 2, height / 2);
}
if(numScreens == 5){
image(movies[0], 0, 0, width / 3, height / 2);
image(movies[1], width / 3, 0, width / 3, height / 2);
image(movies[2], (width / 3) * 2, 0, width / 3, height / 2);
image(movies[3], width / 2, height / 2, width / 2, height / 2);
image(movies[4], 0, height / 2, width / 2, height / 2);
}
if(numScreens == 6){
image(movies[0], 0, 0, width / 3, height / 2);
image(movies[1], width / 3, 0, width / 3, height / 2);
image(movies[2], (width / 3) * 2, 0, width / 3, height / 2);
image(movies[3], width / 3, height / 2, width / 3, height / 2);
image(movies[4], 0, height / 2, width / 3, height / 2);
image(movies[5], (width / 3) * 2, height / 2, width / 3, height / 2);
}
out.addFrame();
}

void movieEvent(Movie m){
m.read();
}

void keyPressed(){
++numScreens;
if(numScreens > 6){
out.finish();
}
}

1 comment:

Brendan said...

hi greg,
my thesis,
it's online...
http://hdl.handle.net/10090/5039

brendan/futuree electrode