X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=MooToolbar.java;h=54b90db40f83a871e82fc4b3a666436fa2900ee9;hb=5380690b9fc56b683d15765382669d79c50d3414;hp=eb8ca43f304215539548383b8bd1466e36969405;hpb=b6312d2dc8b1a096ecb1dfe9e6590d9f7bf14f71;p=moosique.git diff --git a/MooToolbar.java b/MooToolbar.java index eb8ca43..54b90db 100644 --- a/MooToolbar.java +++ b/MooToolbar.java @@ -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(); } }