* Starts the application.
*/
public static void main (String[] args) {
- System.out.println("Moosique version 1.0");
+ System.out.println("\nMoosique version 1.0\n");
// Acquires MIDI devices and connects them.
+ System.out.print("Initializing MIDI devices.");
try {
sequencer = MidiSystem.getSequencer();
+ System.out.print(".");
sequencer.open();
+ System.out.print(".");
synthesizer = MidiSystem.getSynthesizer();
+ System.out.print(".");
synthesizer.open();
+ System.out.print(".");
sequencer.getTransmitter().setReceiver(synthesizer.getReceiver());
} catch (MidiUnavailableException e) {
- System.out.println("Unable to initialize MIDI devices.");
+ System.out.println("Failed, quitting.");
quit();
}
+ System.out.println("Done");
//If a filename is given as the command-line argument, attempts to load a sequence from the file.
+ System.out.print("Loading MIDI sequence...");
if (args.length == 1) {
- if (!load(args[0])) createSequence();
+ if (!load(args[0])) clearSequence();
} else {
// Otherwise creates a new empty one.
- createSequence();
+ clearSequence();
}
+ System.out.println("Done");
// Sets up channels and GUI.
+ System.out.print("Creating GUI...");
channels = synthesizer.getChannels();
gui = new MooGUI(seq);
+ System.out.println("Done");
}
/*
* Returns a pointer to the current sequence.
* @return the current sequence
*/
- public static void createSequence() {
+ public static void clearSequence() {
+ // Creates sequence.
try {
seq = new Sequence(Sequence.PPQ, 96);
} catch (InvalidMidiDataException e) {}
+ // Sends sequence to GUI.
+ if (gui != null) gui.setSequence(seq);
+
}
/*
}
// Sends sequence to GUI
- gui.setSequence(seq);
+ if (gui != null) gui.setSequence(seq);
// Searches the sequence for NoteOn events
Track[] tracks = seq.getTracks();