]> ruin.nu Git - moosique.git/blobdiff - Moosique.java
*** empty log message ***
[moosique.git] / Moosique.java
index b4c4259e0b02a6be66ef48f63c821f7229f65c4d..531e4f511886dcc96c10c7ed9d614f9da83d6bf0 100644 (file)
@@ -24,6 +24,7 @@ public class Moosique {
        private static long position;
        private static boolean makeGUI = true, isEdited;
        private static Thread player;
+       public static final int RESOLUTION = 96, DEFAULT_TRACKS = 4;
 
        /** 
         * Starts the application.
@@ -140,7 +141,7 @@ public class Moosique {
        public static void clearSequence() {
                // Creates a new sequence and sends it to the sequencer.
                try {
-                       seq = new Sequence(Sequence.PPQ, 96, 3);
+                       seq = new Sequence(Sequence.PPQ, RESOLUTION, DEFAULT_TRACKS);
                        sequencer.setSequence(seq);
                } catch (InvalidMidiDataException e) {}
                // Sends sequence to GUI.
@@ -153,7 +154,6 @@ public class Moosique {
        public static void play() {
                sequencer.setTickPosition(position);
                resume();
-               
        }
 
        /** 
@@ -176,7 +176,8 @@ public class Moosique {
                // Creates the visualization thread and starts it.
                player = new Thread () {
                        public void run() {
-                               gui.update(sequencer.getTickPosition());
+                               while(sequencer.isRunning()) gui.update(sequencer.getTickPosition());
+                               Moosique.stop();
                        }
                };
                player.start();
@@ -188,7 +189,7 @@ public class Moosique {
        public static void stop() {
                sequencer.stop();
                sequencer.setTickPosition(position);
-               player.destroy();
+               player.interrupt();
                gui.update((long)0);
        }