Drums

// Drum sounds are from http://www.drumsamples.org/

// import Minim
import ddf.minim.*;

// set up the sound variables
Minim minim;
AudioPlayer drum1;
AudioPlayer drum2;

// track when a drum has been struck
boolean drum1struck;
boolean drum2struck;

void setup() 
{
  // initialize the screen
  size(210, 120);

  // initialize sound
  minim = new Minim(this);
  drum1 = minim.loadFile("bongo1.wav");
  drum2 = minim.loadFile("bongo7.wav");

  // initialize the graphics
  drum1struck = false;
  drum2struck = false;
}

void draw() 
{
  background(255);

  // draw the drums: if a draw has just been struck
  // then fill it with color as visual feedback for the user

  // drum 1
  if (drum1struck == true) 
  {
    fill(0);
    drum1struck = false;
  } 
  else 
  {
    fill(255);
  }
  ellipse(50, 55, 100, 100);

  // drum 2
  if (drum2struck == true) 
  {
    fill(0);
    drum2struck = false;
  } 
  else 
  {
    fill(255);
  }
  ellipse(160, 55, 100, 100);
}

void keyPressed() 
{
  if (key == 'a' || key == 'A') 
  {
    drum1struck = true;
    drum1.play(0);
  }
  else if (key == 'b' || key == 'B') 
  {
    drum2struck = true;
    drum2.play(0);
  }
}

void stop() 
{
  drum1.close();
  drum2.close();
  minim.stop();

  super.stop();
}