]> ruin.nu Git - moosique.git/blobdiff - MooGUI.java
Fixed some bugs
[moosique.git] / MooGUI.java
index 7019828a67abbe19af427caa1432fb6b8d369c98..32285ac5191375271ec0ba593f2dddfb8cb45ac6 100644 (file)
@@ -39,7 +39,7 @@ public class MooGUI extends JFrame {
                pane.add(toolbar, BorderLayout.NORTH);
 
                // Adds main view.
-               view = new MooView(seq);
+               view = new MooView(seq.getTracks());
                pane.add(view, BorderLayout.CENTER);
 
                // Adds status bar.
@@ -55,6 +55,23 @@ public class MooGUI extends JFrame {
                statusBar.setBackground(bgColor);
                view.setBackground(bgColor);
 
+               // Sets up global key listener
+               ActionMap am = getRootPane().getActionMap();
+
+               Action playAction = new AbstractAction() {
+                       public void actionPerformed(ActionEvent ae) {
+                               if (!Moosique.getSequencer().isRunning()) {
+                                       Moosique.play();
+                               } else {
+                                       Moosique.stop();
+                               }
+                       }};
+               am.put("Play", playAction);
+
+               InputMap im = getRootPane().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
+               KeyStroke playKey = KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, 0);
+               im.put(playKey, "Play");
+
                // Configures window.
                addWindowListener(new MooGUICloser());
                pack();
@@ -74,14 +91,14 @@ public class MooGUI extends JFrame {
                        comps[i].setBackground(bgColor);
                }
        }
-       
+
        /** 
         * Changes the sequence of the GUI.
         * @param sequence      the MIDI sequence to visualize
         */
        public void setSequence(Sequence sequence) {
                seq = sequence;
-               view.setSequence(seq);
+               view.setTracks(seq.getTracks());
        }
 
        /** 
@@ -93,14 +110,14 @@ public class MooGUI extends JFrame {
        }
 
        /**
-        * Update the view.
+        * Calls on the main view to update the track views,
+        * and on the toolbar to update the progress indicator.
         */
        public void update(){
                view.update();
-               // Calls on the toolbar to update the progress indicator.
-               //toolbar.updateProgInd();
+               toolbar.updateProgInd();
        }
-       
+
        class MooGUICloser extends WindowAdapter {
                public void windowClosing(WindowEvent e) {
                        Moosique.quit();