diff options
author | Christopher Baines <cbaines8@gmail.com> | 2011-09-16 12:30:25 +0100 |
---|---|---|
committer | Christopher Baines <cbaines8@gmail.com> | 2011-09-16 12:30:25 +0100 |
commit | 2f9556e87d356051f412e73394833627347d848e (patch) | |
tree | 59b21d062d5d5739cd17e73056cdcb8c6bc73de0 /PunchingBag/src/uk/ac/open/punchingbag/examples/SimpleKeyboard.java | |
parent | 792fa79119050016b992f1947e93abdd17d0a6d3 (diff) | |
parent | 8721d9014c86909910fbc9031e0c9e7668e49826 (diff) | |
download | punchingbag-2f9556e87d356051f412e73394833627347d848e.tar punchingbag-2f9556e87d356051f412e73394833627347d848e.tar.gz |
Fixed Noise and SimpleKeyboard.
Merge branch 'master' of gitorious.org:punchingbag/punchingbag
Conflicts:
PunchingBag/src/uk/ac/open/punchingbag/examples/SimpleKeyboard.java
Diffstat (limited to 'PunchingBag/src/uk/ac/open/punchingbag/examples/SimpleKeyboard.java')
-rw-r--r-- | PunchingBag/src/uk/ac/open/punchingbag/examples/SimpleKeyboard.java | 45 |
1 files changed, 34 insertions, 11 deletions
diff --git a/PunchingBag/src/uk/ac/open/punchingbag/examples/SimpleKeyboard.java b/PunchingBag/src/uk/ac/open/punchingbag/examples/SimpleKeyboard.java index 2d91735..882a32f 100644 --- a/PunchingBag/src/uk/ac/open/punchingbag/examples/SimpleKeyboard.java +++ b/PunchingBag/src/uk/ac/open/punchingbag/examples/SimpleKeyboard.java @@ -1,6 +1,7 @@ package uk.ac.open.punchingbag.examples; import java.awt.Color; +import java.awt.Rectangle; import java.io.File; import java.io.IOException; @@ -26,9 +27,8 @@ import uk.ac.open.punchingbag.ButtonListener; import uk.ac.open.punchingbag.Contact; import uk.ac.open.punchingbag.PunchingBag; -public class SimpleKeyboard implements ButtonListener { - - String soundDir = System.getProperty("user.dir") +public class SimpleKeyboard implements ButtonListener, Runnable { + String soundDir = System.getProperty("user.dir") + System.getProperty("file.separator"); File[] keys = { new File(soundDir + "G4.wav"), @@ -37,6 +37,7 @@ public class SimpleKeyboard implements ButtonListener { new File(soundDir + "G5.wav") }; static PunchingBag bag = PunchingBag.getBag(); + long lastActionTime = System.currentTimeMillis(); public static final int DAMPER_PEDAL = 64; @@ -51,9 +52,16 @@ public class SimpleKeyboard implements ButtonListener { -4, -2, 0, 1, 3, 5, 7 }; public static void main(String[] args) throws InvalidMidiDataException, MidiUnavailableException, IOException { + try { + bag.connectToArduinos(); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + new SimpleKeyboard(); - int instrument = 0; + /*int instrument = 0; int tempo = 120; String filename = null; @@ -115,20 +123,16 @@ public class SimpleKeyboard implements ButtonListener { MidiSystem.write(sequence, allowedTypes[0], new File(filename)); System.exit(0); } - } + }*/ } public SimpleKeyboard() { bag.addButtonListener(this); - try { - bag.connectToArduinos(); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } + new Thread (this).start(); } public void buttonPressed(int x, int y) { + lastActionTime = System.currentTimeMillis(); System.out.println("Button Pressed: " + x + " " + y); if (y < 3) { bag.fillRect(0, 0, 9, 4, Color.red, 500); @@ -287,5 +291,24 @@ public class SimpleKeyboard implements ButtonListener { track.add(new MidiEvent(on, startTick)); track.add(new MidiEvent(off, startTick + tickLength)); } + @Override + public void run() { + while (true) { + System.out.println("Checking last action time"); + if ((System.currentTimeMillis() - lastActionTime) > 60000) { + System.out.println("Activating Noise"); + bag.noise(new Rectangle(0, 0, 9, 20)); + } else { + System.out.println("Waiting more"); + } + try { + Thread.sleep(20000); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + } } |