Guest User

L.U.T.E.

a guest
Feb 13th, 2016
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.67 KB | None | 0 0
  1. import java.awt.event.KeyEvent;
  2. import java.awt.event.KeyListener;
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.HashSet;
  6. import java.util.Iterator;
  7. import java.util.Map;
  8.  
  9. import javax.swing.JFrame;
  10. import javax.swing.JLabel;
  11. import javax.swing.JPanel;
  12.  
  13. import org.jfugue.player.Player;
  14. import org.jfugue.theory.Chord;
  15. import org.jfugue.theory.Note;
  16.  
  17. import java.util.Scanner;
  18.  
  19. import javax.sound.midi.MidiUnavailableException;
  20.  
  21. import org.jfugue.pattern.Pattern;
  22. import org.jfugue.realtime.RealtimePlayer;
  23. import org.jfugue.theory.Note;
  24.  
  25. public class KeyListenerTester extends JFrame implements KeyListener {
  26. public Player player;
  27. // player.play(I[Guitar]);
  28. HashSet<Integer> pressed = new HashSet<Integer>();
  29. String instrument;
  30. String duration;
  31. JLabel label;
  32. String octave;
  33. Map<Integer, String> test = new HashMap<Integer, String>();
  34. {
  35. test.put(35, "G#");
  36. test.put(40, "G");
  37. test.put(34, "F#");
  38. test.put(37, "F");
  39. test.put(12, "E");
  40. test.put(39, "D#");
  41. test.put(36, "D");
  42. test.put(38, "C#");
  43. test.put(33, "C");
  44.  
  45. }
  46.  
  47. public KeyListenerTester(String s) {
  48. super(s);
  49. JPanel p = new JPanel();
  50. label = new JLabel("Key Listener!");
  51. p.add(label);
  52. add(p);
  53. addKeyListener(this);
  54. setSize(200, 100);
  55. setVisible(true);
  56. duration = "Q";
  57. player = new Player();
  58. instrument = "I1 ";
  59. }
  60.  
  61. @Override
  62. public void keyTyped(KeyEvent e) {
  63.  
  64. if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
  65. System.out.println("Right key typed");
  66.  
  67. }
  68. if (e.getKeyCode() == KeyEvent.VK_LEFT) {
  69. System.out.println("Left key typed");
  70. }
  71.  
  72. }
  73.  
  74. @Override
  75. public void keyPressed(KeyEvent e) {
  76. int keyP = e.getKeyCode();
  77. if (keyP == 52) {
  78. octave = "3";
  79. } else if (keyP == 84) {
  80.  
  81. octave = "4";
  82. } else if (keyP == 70) {
  83. octave = "6";
  84. } else if (keyP == 67) {
  85. octave = "7";
  86. }
  87. else{
  88. pressed.add(keyP);
  89. }
  90. }
  91.  
  92. // while(!isInterrupted()) {
  93. // try {
  94. //
  95. // } catch (InterruptedException e) {
  96. // interrupt();
  97. // }
  98. // }
  99.  
  100. @Override
  101. public void keyReleased(KeyEvent e) {
  102. String forChord = "";
  103.  
  104. Iterator<Integer> iter = pressed.iterator();
  105. while (iter.hasNext()) {
  106. Integer keyPressNum = iter.next();
  107. if (keyPressNum == 52) {
  108. octave = "5";
  109. } else if (keyPressNum == 84) {
  110.  
  111. octave = "5";
  112. } else if (keyPressNum == 70) {
  113. octave = "5";
  114. } else if (keyPressNum == 67) {
  115. octave = "5";
  116. }
  117. else if (keyPressNum == 83) {//s
  118. instrument = "I0 ";
  119. }
  120. else if (keyPressNum == 65) {//a
  121. instrument = "I56 ";
  122. }
  123. else if (keyPressNum==68){//d
  124. instrument = "";
  125. }
  126. else if (keyPressNum==81){//q
  127.  
  128. }
  129. else if (keyPressNum==87){//w
  130.  
  131. }
  132. else if (keyPressNum==69){//e
  133.  
  134. }
  135.  
  136. else if (keyPressNum == 90) {
  137. duration = "X";
  138. }
  139.  
  140. else if (keyPressNum == 88) {
  141.  
  142. duration = "Q";
  143. }
  144. // else if (keyPressNum == 88) {
  145. // duration = "Q";
  146. // }
  147. // else if (keyPressNum == 88) {
  148. // duration = "Q";
  149. // }
  150. else{
  151. if (test.get(keyPressNum)!=null) forChord += (test.get(keyPressNum) + octave + duration+"+");
  152. }
  153. System.out.println(keyPressNum);
  154. System.out.println(forChord);
  155.  
  156.  
  157. }
  158. if (forChord.length()>0)forChord = forChord.substring(0, forChord.length() - 1);
  159. if (forChord.length() > 0 && forChord.charAt(forChord.length() - 1) == 'x') {
  160. forChord = forChord.substring(0, forChord.length() - 1);
  161. }
  162. System.out.println("Final: " + forChord);
  163. if (forChord.length()>1)player.play( instrument+forChord);
  164. pressed.clear();
  165. }
  166.  
  167. public static void main(String[] args) {
  168. new KeyListenerTester("Key Listener Tester");
  169.  
  170. }
  171. }
Add Comment
Please, Sign In to add comment