X-Git-Url: https://ruin.nu/git/?p=moosique.git;a=blobdiff_plain;f=MooGUI.java;h=2ae23a64849221afc93de30cefd997f47f958ef4;hp=490026440350483e48b0f7bfd0aac2a4ab8afeba;hb=HEAD;hpb=570c4561b55541309efb977d0930777b8d214336 diff --git a/MooGUI.java b/MooGUI.java index 4900264..2ae23a6 100644 --- a/MooGUI.java +++ b/MooGUI.java @@ -3,6 +3,7 @@ import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; +import java.io.*; /** * Moosique's graphical user interface. @@ -18,6 +19,7 @@ public class MooGUI extends JFrame { private MooView view; private JLabel statusBar; private java.util.Timer timer; + private boolean updateView = 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); @@ -27,8 +29,9 @@ public class MooGUI extends JFrame { * Creates the GUI. * @param seq The sequence that the program is operating on. */ - public MooGUI(Sequence seq) { + public MooGUI(Sequence seq, File file) { super("Moosique"); + if (file != null) setTitle("Moosique - " + file.getName()); this.seq = seq; advanceStatus(); @@ -117,8 +120,10 @@ public class MooGUI extends JFrame { * Changes the sequence of the GUI. * @param sequence the MIDI sequence to visualize */ - public void setSequence(Sequence sequence) { + public void setSequence(Sequence sequence, File file) { seq = sequence; + if (file != null) setTitle("Moosique - " + file.getName()); + else setTitle("Moosique"); view.setTracks(seq.getTracks(), true); toolbar.resetProgInd(); } @@ -136,11 +141,15 @@ public class MooGUI extends JFrame { * Calls on the main view to update the track views, * and on the toolbar to update the progress indicator. */ - public void update(long tickPosition){ - view.update(tickPosition); + public synchronized void update(long tickPosition){ + if (updateView) view.update(tickPosition); toolbar.updateProgInd(tickPosition); } + public MooView getView() { + return view; + } + /** * Creates an action for a specific octave. * @param increase true for increase, false for decrease @@ -153,6 +162,9 @@ public class MooGUI extends JFrame { return octaveAction; } + /** + * Advances the current progress counter by printing a "." to the System output. + */ private void advanceStatus() { System.out.print("."); }