]> ruin.nu Git - moosique.git/blobdiff - MooGUI.java
*** empty log message ***
[moosique.git] / MooGUI.java
index b1bbf0d8b3e6aafed3dbee05570346fcdc7859f8..78105be707d229b2743fae15323b1bebe879e6a8 100644 (file)
@@ -18,6 +18,7 @@ public class MooGUI extends JFrame {
        private MooView view;
        private JLabel statusBar;
        private java.util.Timer timer;
+       private boolean drawEmptyTracks = false;
        public static final int statusResetDelay = 3000;
        public static final Font FONT = new Font("Helvetica", Font.PLAIN, 10);
        public static final Color bgColor = new Color(192, 224, 255);
@@ -61,7 +62,7 @@ public class MooGUI extends JFrame {
                // Creates timer.
                timer = new java.util.Timer();
 
-               // Sets up global key listener
+               // Sets up global key listener.
                ActionMap am = getRootPane().getActionMap();
 
                Action playAction = new AbstractAction() {
@@ -73,10 +74,22 @@ public class MooGUI extends JFrame {
                                }
                        }};
                am.put("Play", playAction);
+               am.put("Octave change 2", createOctaveAction(2));
+               am.put("Octave change 4", createOctaveAction(4));
+               am.put("Octave change 6", createOctaveAction(6));
+               am.put("Octave change 8", createOctaveAction(8));
 
                InputMap im = getRootPane().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
                KeyStroke playKey = KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, 0);
+               KeyStroke octave2Key = KeyStroke.getKeyStroke(KeyEvent.VK_F9, 0);
+               KeyStroke octave4Key = KeyStroke.getKeyStroke(KeyEvent.VK_F10, 0);
+               KeyStroke octave6Key = KeyStroke.getKeyStroke(KeyEvent.VK_F11, 0);
+               KeyStroke octave8Key = KeyStroke.getKeyStroke(KeyEvent.VK_F12, 0);
                im.put(playKey, "Play");
+               im.put(octave2Key, "Octave change 2");
+               im.put(octave4Key, "Octave change 4");
+               im.put(octave6Key, "Octave change 6");
+               im.put(octave8Key, "Octave change 8");
 
                // Configures window.
                addWindowListener(new MooGUICloser());
@@ -127,6 +140,30 @@ public class MooGUI extends JFrame {
                toolbar.updateProgInd(tickPosition);
        }
 
+       /** 
+        * Shows the given message in the status bar.
+        * @param text  the message to show
+        */
+       public boolean drawEmptyTracks() {
+               return drawEmptyTracks;
+       }
+
+       /** 
+        * Shows the given message in the status bar.
+        * @param text  the message to show
+        */
+       public void setDrawEmptyTracks(boolean state) {
+               drawEmptyTracks = state;
+       }
+
+       private Action createOctaveAction(final int octave) {
+               Action octaveAction = new AbstractAction() {
+                       public void actionPerformed(ActionEvent ae) {
+                               MooKeyboard.setOctave(octave);
+                       }};
+               return octaveAction;
+       }
+
        class MooGUICloser extends WindowAdapter {
                public void windowClosing(WindowEvent e) {
                        Moosique.quit();