]> ruin.nu Git - moosique.git/blobdiff - MooToolbar.java
Fixed a play thread that almost works
[moosique.git] / MooToolbar.java
index eb8ca43f304215539548383b8bd1466e36969405..54b90db40f83a871e82fc4b3a666436fa2900ee9 100644 (file)
@@ -69,14 +69,14 @@ public class MooToolbar extends JToolBar {
 
        /**
         * Updates the progress indicator.
+        * @param tickPosition  the tick position to visualize
         */
-       public void updateProgInd() {
-               long pos = Moosique.getSequencer().getTickPosition();
+       public void updateProgInd(long tickPosition) {
                int ticksPerBeat = Moosique.getSequence().getResolution();
                int beatsPerMeasure = 4;
-               long measures = pos / (beatsPerMeasure * ticksPerBeat);
-               long beats = (pos - measures * beatsPerMeasure * ticksPerBeat) / ticksPerBeat;
-               long ticks = pos - measures * beatsPerMeasure * ticksPerBeat - beats * ticksPerBeat;
+               long measures = tickPosition / (beatsPerMeasure * ticksPerBeat);
+               long beats = (tickPosition - measures * beatsPerMeasure * ticksPerBeat) / ticksPerBeat;
+               long ticks = tickPosition - measures * beatsPerMeasure * ticksPerBeat - beats * ticksPerBeat;
                measureValue.setText(Long.toString(measures));
                beatsValue.setText(Long.toString(beats));
                ticksValue.setText(Long.toString(ticks));
@@ -113,27 +113,21 @@ public class MooToolbar extends JToolBar {
        class MooMouseAdapter extends MouseAdapter {
                public void mouseClicked(MouseEvent e) {
                        if (((JButton)e.getSource()).getToolTipText() == "Play") {
-                                       Moosique.play();
                                        playpause.setIcon(pauseIcon);
                                        playpause.setToolTipText("Pause");
-                                       while(Moosique.getSequencer().isRunning()) {
-                                               Moosique.getGUI().update();
-                                       }
+                                       Moosique.play();
                        } else if (((JButton)e.getSource()).getToolTipText() == "Pause") {
-                                       Moosique.pause();
                                        playpause.setIcon(playIcon);
                                        playpause.setToolTipText("Resume");
+                                       Moosique.pause();
                        } else if (((JButton)e.getSource()).getToolTipText() == "Resume") {
-                                       Moosique.resume();
                                        playpause.setIcon(pauseIcon);
                                        playpause.setToolTipText("Pause");
-                                       while(Moosique.getSequencer().isRunning()) {
-                                               Moosique.getGUI().update();
-                                       }
+                                       Moosique.resume();
                        } else if (((JButton)e.getSource()).getToolTipText() == "Stop") {
-                               Moosique.stop();
                                playpause.setIcon(playIcon);
                                playpause.setToolTipText("Play");
+                               Moosique.stop();
                        }
                }