]> ruin.nu Git - moosique.git/blobdiff - Moosique.java
*** empty log message ***
[moosique.git] / Moosique.java
index 5ee3bccea394dd8819cba008c3627d8e7139972e..1c14a0fbe92ce0d558103c4bd011a85b5e6f4301 100644 (file)
@@ -1,6 +1,7 @@
 import javax.sound.midi.*;
-import javax.swing.*;
 import java.io.*;
+import javax.swing.*;
+import java.util.*;
 
 /**
  * Moosique - The MIDI Tracker
@@ -22,7 +23,6 @@ public class Moosique {
        private static String filename, fileArg;
        private static long position;
        private static boolean makeGUI = true;
-       private static boolean playing = false;
 
        /** 
         * Starts the application.
@@ -50,7 +50,7 @@ public class Moosique {
                        setActiveChannel(0);
                } catch (MidiUnavailableException e) {
                        System.out.println("Failed, quitting.");
-                       quit();
+//                     System.exit(1);
                }
                System.out.println("Done");
 
@@ -68,9 +68,12 @@ public class Moosique {
                        clearSequence();
                }
 
-               // If n-flag is set, plays song and then exits. Otherwise builds GUI.
+               // Builds GUI, unless n-flag is set.
                if (makeGUI) {
                        System.out.print("Building GUI...");
+                       try {
+                               UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
+                       } catch (Exception e) {}
                        gui = new MooGUI(seq);
                        System.out.println("Done");
                } else {
@@ -147,7 +150,6 @@ public class Moosique {
         * Starts playback of the current sequence.
         */
        public static void play() {
-               playing = true;
                sequencer.setTickPosition(position);
                sequencer.start();
        }
@@ -156,7 +158,6 @@ public class Moosique {
         * Pauses playback of the current sequence.
         */
        public static void pause() {
-               playing = false;
                sequencer.stop();
        }
 
@@ -164,7 +165,6 @@ public class Moosique {
         * Resumes playback of the current sequence.
         */
        public static void resume() {
-               playing = true;
                sequencer.start();
        }
 
@@ -172,22 +172,10 @@ public class Moosique {
         * Stops playback of the current sequence.
         */
        public static void stop() {
-               playing = false;
                sequencer.stop();
                sequencer.setTickPosition(position);
        }
 
-       /**
-        * Pauses if playing and resumes if stopped.
-        */
-       public static void resumepause()
-       {
-               if (playing)
-                       pause();
-               else
-                       resume();
-       }
-
        /** 
         * Rewinds the current sequence the given number of measures.
         * @param measures      the number of measures to rewind
@@ -232,7 +220,6 @@ public class Moosique {
                } catch (InvalidMidiDataException e) {
                        return false;
                } catch (IOException e) {
-                       JOptionPane.showMessageDialog(null, "Error 404", "File Not Found", JOptionPane.ERROR_MESSAGE); 
                        return false;
                }
 
@@ -248,6 +235,13 @@ public class Moosique {
                MidiMessage nextMsg;
                ShortMessage shortMsg;
                for (int i = 0; i < tracks.length; i++) {
+       /*
+                       Collections.sort(track[i].events, new Comparator() {
+                               public int compare(Object o1, Object o2) {
+                                       return ((MidiEvent)o2).getTick() - ((MidiEvent)o1).getTick();
+                               }
+                       });
+       */
                        for (int j = 0; j < tracks[i].size(); j++) {
                                noteOn = tracks[i].get(j);
                                if (noteOn.getMessage() instanceof ShortMessage) {