Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.event.KeyEvent;
- import java.awt.event.KeyListener;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.HashSet;
- import java.util.Iterator;
- import java.util.Map;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import org.jfugue.player.Player;
- import org.jfugue.theory.Chord;
- import org.jfugue.theory.Note;
- import java.util.Scanner;
- import javax.sound.midi.MidiUnavailableException;
- import org.jfugue.pattern.Pattern;
- import org.jfugue.realtime.RealtimePlayer;
- import org.jfugue.theory.Note;
- public class KeyListenerTester extends JFrame implements KeyListener {
- public Player player;
- // player.play(I[Guitar]);
- HashSet<Integer> pressed = new HashSet<Integer>();
- String instrument;
- String duration;
- JLabel label;
- String octave;
- Map<Integer, String> test = new HashMap<Integer, String>();
- {
- test.put(35, "G#");
- test.put(40, "G");
- test.put(34, "F#");
- test.put(37, "F");
- test.put(12, "E");
- test.put(39, "D#");
- test.put(36, "D");
- test.put(38, "C#");
- test.put(33, "C");
- }
- public KeyListenerTester(String s) {
- super(s);
- JPanel p = new JPanel();
- label = new JLabel("Key Listener!");
- p.add(label);
- add(p);
- addKeyListener(this);
- setSize(200, 100);
- setVisible(true);
- duration = "Q";
- player = new Player();
- instrument = "I1 ";
- }
- @Override
- public void keyTyped(KeyEvent e) {
- if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
- System.out.println("Right key typed");
- }
- if (e.getKeyCode() == KeyEvent.VK_LEFT) {
- System.out.println("Left key typed");
- }
- }
- @Override
- public void keyPressed(KeyEvent e) {
- int keyP = e.getKeyCode();
- if (keyP == 52) {
- octave = "3";
- } else if (keyP == 84) {
- octave = "4";
- } else if (keyP == 70) {
- octave = "6";
- } else if (keyP == 67) {
- octave = "7";
- }
- else{
- pressed.add(keyP);
- }
- }
- // while(!isInterrupted()) {
- // try {
- //
- // } catch (InterruptedException e) {
- // interrupt();
- // }
- // }
- @Override
- public void keyReleased(KeyEvent e) {
- String forChord = "";
- Iterator<Integer> iter = pressed.iterator();
- while (iter.hasNext()) {
- Integer keyPressNum = iter.next();
- if (keyPressNum == 52) {
- octave = "5";
- } else if (keyPressNum == 84) {
- octave = "5";
- } else if (keyPressNum == 70) {
- octave = "5";
- } else if (keyPressNum == 67) {
- octave = "5";
- }
- else if (keyPressNum == 83) {//s
- instrument = "I0 ";
- }
- else if (keyPressNum == 65) {//a
- instrument = "I56 ";
- }
- else if (keyPressNum==68){//d
- instrument = "";
- }
- else if (keyPressNum==81){//q
- }
- else if (keyPressNum==87){//w
- }
- else if (keyPressNum==69){//e
- }
- else if (keyPressNum == 90) {
- duration = "X";
- }
- else if (keyPressNum == 88) {
- duration = "Q";
- }
- // else if (keyPressNum == 88) {
- // duration = "Q";
- // }
- // else if (keyPressNum == 88) {
- // duration = "Q";
- // }
- else{
- if (test.get(keyPressNum)!=null) forChord += (test.get(keyPressNum) + octave + duration+"+");
- }
- System.out.println(keyPressNum);
- System.out.println(forChord);
- }
- if (forChord.length()>0)forChord = forChord.substring(0, forChord.length() - 1);
- if (forChord.length() > 0 && forChord.charAt(forChord.length() - 1) == 'x') {
- forChord = forChord.substring(0, forChord.length() - 1);
- }
- System.out.println("Final: " + forChord);
- if (forChord.length()>1)player.play( instrument+forChord);
- pressed.clear();
- }
- public static void main(String[] args) {
- new KeyListenerTester("Key Listener Tester");
- }
- }
Add Comment
Please, Sign In to add comment