]> ruin.nu Git - moosique.git/blobdiff - Moosique.java
fixing indent..
[moosique.git] / Moosique.java
index bb90b765b69492f5d2da3a6334e507de62f46825..5ee3bccea394dd8819cba008c3627d8e7139972e 100644 (file)
@@ -22,6 +22,7 @@ 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.
@@ -56,8 +57,12 @@ public class Moosique {
                //If a filename is given as the command-line argument, attempts to load a sequence from the file.
                if (fileArg != null) {
                        System.out.print("Loading MIDI sequence from " + fileArg + "...");
-                       if (!load(fileArg)) clearSequence();
-                       System.out.println("Done");
+                       if (!load(fileArg)) {
+                               System.out.println("Failed");
+                               clearSequence();
+                       } else {
+                               System.out.println("Done");
+                       }
                } else {
                        // Otherwise creates a new empty one.
                        clearSequence();
@@ -78,7 +83,15 @@ public class Moosique {
        }
 
        /** 
-        * Returns a pointer to the current sequence.
+        * Returns the GUI.
+        * @return the GUI
+        */
+       public static MooGUI getGUI() {
+               return gui;
+       }
+
+       /** 
+        * Returns the current sequence.
         * @return the current sequence
         */
        public static Sequence getSequence() {
@@ -86,7 +99,15 @@ public class Moosique {
        }
 
        /** 
-        * Returns a pointer to the MidiChannels of the selected synthesizer.
+        * Returns the current sequencer.
+        * @return the current sequencer
+        */
+       public static Sequencer getSequencer() {
+               return sequencer;
+       }
+
+       /** 
+        * Returns the MidiChannels of the selected synthesizer.
         * @return the available MidiChannels
         */
        public static MidiChannel[] getChannels() {
@@ -94,7 +115,7 @@ public class Moosique {
        }
 
        /** 
-        * Returns a pointer to the currently active MidiChannel.
+        * Returns the currently active MidiChannel.
         * @return the active MidiChannel
         */
        public static MidiChannel getActiveChannel() {
@@ -126,6 +147,7 @@ public class Moosique {
         * Starts playback of the current sequence.
         */
        public static void play() {
+               playing = true;
                sequencer.setTickPosition(position);
                sequencer.start();
        }
@@ -134,6 +156,7 @@ public class Moosique {
         * Pauses playback of the current sequence.
         */
        public static void pause() {
+               playing = false;
                sequencer.stop();
        }
 
@@ -141,6 +164,7 @@ public class Moosique {
         * Resumes playback of the current sequence.
         */
        public static void resume() {
+               playing = true;
                sequencer.start();
        }
 
@@ -148,10 +172,22 @@ 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
@@ -173,7 +209,7 @@ public class Moosique {
         * @param measures      the number of measures to rewind
         */
        public static void rewind(long ticks) {
-               position -= ticks;
+               setPosition(position - ticks);
        }
 
        /** 
@@ -181,7 +217,7 @@ public class Moosique {
         * @param measures      the number of measures to fast forward
         */
        public static void forward(long ticks) {
-               position += ticks;
+               setPosition(position + ticks);
        }
 
        /** 
@@ -268,4 +304,4 @@ public class Moosique {
                if (synthesizer.isOpen()) synthesizer.close();
                System.exit(0);
        }
-}
\ No newline at end of file
+}