]> ruin.nu Git - moosique.git/blobdiff - Moosique.java
Fixed a play thread that almost works
[moosique.git] / Moosique.java
index bc821ba034bf49f69fc9ee4c33c7dcfd9d43b089..b4c4259e0b02a6be66ef48f63c821f7229f65c4d 100644 (file)
@@ -23,6 +23,7 @@ public class Moosique {
        private static String filename, fileArg;
        private static long position;
        private static boolean makeGUI = true, isEdited;
+       private static Thread player;
 
        /** 
         * Starts the application.
@@ -151,7 +152,8 @@ public class Moosique {
         */
        public static void play() {
                sequencer.setTickPosition(position);
-               sequencer.start();
+               resume();
+               
        }
 
        /** 
@@ -159,6 +161,7 @@ public class Moosique {
         */
        public static void pause() {
                sequencer.stop();
+               player.destroy();
        }
 
        /** 
@@ -166,6 +169,17 @@ public class Moosique {
         */
        public static void resume() {
                sequencer.start();
+
+               // Disables input to volatile components
+               // gui.disable();
+
+               // Creates the visualization thread and starts it.
+               player = new Thread () {
+                       public void run() {
+                               gui.update(sequencer.getTickPosition());
+                       }
+               };
+               player.start();
        }
 
        /** 
@@ -174,6 +188,8 @@ public class Moosique {
        public static void stop() {
                sequencer.stop();
                sequencer.setTickPosition(position);
+               player.destroy();
+               gui.update((long)0);
        }
 
        /**