More avantgardism

I made a small John Cage-ish piano tune, and then I programmed a video for it, nothing huge. Just wanted to learn a little about opengl in processing.

Anyway, here it is:

 

and here's the code:

 

import ddf.minim.*;

Minim minim;
AudioPlayer player;


PImage img;
int diff = 40;
int daff = 40;

void setup() {
  minim = new Minim(this);

  size(640, 360, P3D);
  frameRate(20);
  img = loadImage("lines.png");
  noStroke();
  player = minim.loadFile("mister_mister.mp3");

  noLoop();
}

float cnt =0;
float cntInc =0.05;
float cntIncIncer =0.05;

void draw() {
  background(0);

  int  trianglesize = width-(diff*2);
  int meanpos = height-diff;

  daff = (int)random(4);
  beginShape();

  cnt+=cntInc;
  if (cnt>(9*2))
  {
    cnt=0;
    cntInc+=cntIncIncer;
  }
  if (cntInc > 8)
  {
    img = loadImage("lines2.png");
    cntIncIncer-=cntIncIncer*2.0;
  }

  texture(img);
  vertex(width/2, diff, 0, (300/2)+cnt, 0+cnt);
  vertex(0+diff, height-diff, 0, 0+cnt, 300+cnt);
  for (int i = 0; i < player.bufferSize() - 1; i+=1)
  {
    float x1 = map( i, 0, player.bufferSize(), 0, trianglesize );
    float x2 = map( i+1, 0, player.bufferSize(), 0, trianglesize );
    vertex( x1+diff, meanpos + player.left.get(i)*  ((cntInc*3)+10), 0, 00+cnt, 300+cnt);
    vertex( x2+diff, meanpos + player.left.get(i+1)*((cntInc*3)+10), 0, 00+cnt, 300+cnt);
  }
  vertex(width-diff, height-diff, 0, 00+cnt, 300+cnt);

  endShape();
  if (player.isPlaying())
  {
    saveFrame("frames/########.tif");
  }
  else
  {
    println("DONE");
    noLoop();
  }
}

void keyPressed() {
  println("start!");
  player.play();
  loop();
}

One thought on “More avantgardism

Leave a Reply