package drumKit;

import javax.swing.*;
import java.awt.*;

public class DrumKit {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		DrumKitFrame frame = new DrumKitFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
	}
}

class DrumKitFrame extends JFrame {
	public DrumKitFrame() {
		setTitle("Drum Kit V 0.01");
		setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
		DrumKitPanel panel = new DrumKitPanel();
		add(panel);
	}
	public static final int DEFAULT_WIDTH = 300;
	public static final int DEFAULT_HEIGHT = 200;
}

class DrumKitPanel extends JPanel {
	public DrumKitPanel() {
		
		KitClip snare = new KitClip("/home/jmhobbs/workspace/DrumKit/drumKit/Tr909/909_snare.wav");
		KitClip bass = new KitClip("/home/jmhobbs/workspace/DrumKit/drumKit/Tr909/909_kick1.wav");
		KitClip hiOpen = new KitClip("/home/jmhobbs/workspace/DrumKit/drumKit/Tr909/909_op_hat1.wav");
		KitClip hiClosed = new KitClip("/home/jmhobbs/workspace/DrumKit/drumKit/Tr909/909_cl_hat1.wav");
		KitClip crash = new KitClip("/home/jmhobbs/workspace/DrumKit/drumKit/Tr909/909_crash1.wav");
		
		KeyHandler keyCatch = new KeyHandler(snare,bass,hiOpen,hiClosed,crash);
		addKeyListener(keyCatch);
		setFocusable(true);
	}
	public void paintComponent(Graphics g) {
		super.paintComponent(g);
		g.drawString("Drum Kit Program", MESSAGE_X, MESSAGE_Y);
		g.drawString("Press A Key",MESSAGE_X, MESSAGE_Y+12);
		g.drawString("m - Bass",MESSAGE_X, MESSAGE_Y+36);
		g.drawString("f - Snare",MESSAGE_X, MESSAGE_Y+48);
		g.drawString("k - Hi-Hat",MESSAGE_X, MESSAGE_Y+60);
		g.drawString("K - Hit-Hat Snap",MESSAGE_X, MESSAGE_Y+72);
		g.drawString("i - Crash", MESSAGE_X, MESSAGE_Y+84);
		g.drawString("X - Exit", MESSAGE_X, MESSAGE_Y+96);
	}
	public static final int MESSAGE_X = 15;
	public static final int MESSAGE_Y = 15;
}