Lucas and I are making steady progress on our final project, still without a title. We have the Monome working, lighting up, and sending out Midi controls to Live and generating sounds.
Monome Test from Calli Higgins on Vimeo.
Also, we were able to get the Monome talking to Processing. First, we were able to run a sketch that controls which lights are turning on and when, but we really wanted the action of pressing a button on the Monome to trigger an event in Processing. After a lot of troubleshooting, we were successful in triggering an array of images, but unfortunately we learned that we can’t run MonomeSerial while running Processing. This is going to complicate how we send out Midi controls (one solution is to use the Open Sound Control library and program all of the Midi controls, but this is slightly annoying and definitely limiting).
Monome and Processing from Calli Higgins on Vimeo.
Once we figure out how to combine these two events, we’re essentially finished with programming the hardware and we can start thinking about the content of our music and visuals. More to come in the near future…
And the Processing code:
import processing.serial.*;
import jklabs.monomic.*;
int x,y;
Monome m;
int mWidth = 8;
int mHeight = mWidth;
int maxImages = 14; //Total # of images
int imageIndex = 0; //Initial image to be displayed is the first
PImage [] images = new PImage[maxImages];
import processing.video.*;
Movie movie;
void setup() {
size(600,600);
//noStroke();
//smooth();
frameRate(60);
m = new MonomeSerial(this);
String [] filenames = {
“IMG_4982.jpg”, “IMG_4983.jpg”, “IMG_4984.jpg”, “IMG_4985.jpg”, “IMG_4986.jpg”, “IMG_4987.jpg”, “IMG_4988.jpg”, “IMG_4989.jpg”, “IMG_4990.jpg”, “IMG_4991.jpg”,”IMG_4992.jpg”, “IMG_4993.jpg”, “IMG_4994.jpg”, “IMG_4995.jpg” };
for (int i = 0; i < filenames.length; i++) {
images[i] = loadImage(filenames[i]);
}
movie = new Movie (this, “walking.mov”);
movie.loop();
}
void draw () {
if (m.isPressed(0,0)){
image(images[imageIndex], 0,0);
//increment image index by one each cycle
imageIndex = (imageIndex + 1) % images.length;
if(movie.available()){
movie.read();
}
m.lightOn((int)x,(int)y);
//m.lightsOff();
}








