]> ruin.nu Git - moosique.git/blobdiff - MooGUI.java
no message
[moosique.git] / MooGUI.java
index 490026440350483e48b0f7bfd0aac2a4ab8afeba..2ae23a64849221afc93de30cefd997f47f958ef4 100644 (file)
@@ -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(".");
        }