X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=Moosique.java;h=1c14a0fbe92ce0d558103c4bd011a85b5e6f4301;hb=92b3a4029b75b5b5800c2f8965bef75e20fdf784;hp=5ee3bccea394dd8819cba008c3627d8e7139972e;hpb=ba84468acd609e00f4c2df575712b4ffd1399e58;p=moosique.git diff --git a/Moosique.java b/Moosique.java index 5ee3bcc..1c14a0f 100644 --- a/Moosique.java +++ b/Moosique.java @@ -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) {