package net.beadsproject.touch.examples;
import java.util.Arrays;

import net.beadsproject.beads.core.AudioContext;
import net.beadsproject.beads.data.Pitch;
import net.beadsproject.touch.SurfacePlayer;
import net.beadsproject.touch.event.BasicEventListener;
import net.beadsproject.touch.perform.PerformNode;
import net.beadsproject.touch.pianopush.PianoPush;
import net.beadsproject.touch.surface.PixelSurface;
import net.beadsproject.touch.world.Region;
import processing.core.PApplet;
import processing.core.PGraphics;

/**
 * Piano example.
 * 
 * @author ben
 *
 */
public class PianoPushDemo extends PApplet {	
	
	PianoPush pp;
			
	public void setup()
	{		
		size(600,768);
		AudioContext ac = new AudioContext();
		pp = new PianoPush(this,ac,width,height);
		ac.start();
	}
	
	public void draw()
	{	
		background(0);
		noFill();
		image(pp.displayImage,0,0);
	}	
		
	public void mousePressed()
	{		
		Region r = pp.regionMap.get(mouseX,mouseY);
		if (r!=null)
		{
			pp.newContact(0,r);
		}
	}
	
	public void mouseReleased()
	{
		pp.contactEnded(0);	
	}
	
	public void mouseDragged()
	{
		Region r = pp.regionMap.get(mouseX,mouseY);
		if (r!=null)
		{
			pp.contactMoved(0, r);
		}
	}
}
