truelight@0: // truelight@0: // OpenTTDMidi.java truelight@0: // OpenTTDMidi truelight@0: // truelight@0: // Created by Joshua King on Sun Apr 25 2004. truelight@0: // Copyright (c) 2004 __MyCompanyName__. All rights reserved. truelight@0: // truelight@0: import java.io.*; truelight@0: import java.util.*; truelight@0: import javax.sound.midi.*; truelight@0: truelight@0: public class OpenTTDMidi { truelight@0: truelight@0: public static void main (String args[]) { truelight@0: // Currently command line is the MIDI file truelight@0: if (args.length == 1) { truelight@0: Sequencer s2 = null; truelight@0: truelight@0: try { truelight@0: s2 = MidiSystem.getSequencer(); truelight@0: s2.open(); truelight@0: } catch (MidiUnavailableException mue) { truelight@0: System.exit(1); truelight@0: } truelight@0: truelight@0: Sequence s = null; truelight@0: truelight@0: try { truelight@0: s = MidiSystem.getSequence(new File(args[0])); truelight@0: } catch (InvalidMidiDataException imde) { truelight@0: System.exit(2); truelight@0: } catch (IOException ioe) { truelight@0: System.exit(3); truelight@0: } truelight@0: truelight@0: try { truelight@0: s2.setSequence(s); truelight@0: s2.setMicrosecondPosition(0); truelight@0: s2.start(); truelight@0: for (long l = 0; l < (s.getMicrosecondLength() / 1000000); l++) { truelight@0: try { truelight@0: //System.out.print("."); truelight@0: Thread.currentThread().sleep(1000); truelight@0: } catch (InterruptedException ie) {} truelight@0: } truelight@0: System.out.println(); truelight@0: } catch (InvalidMidiDataException imde) { truelight@0: } truelight@0: truelight@0: s2.stop(); truelight@0: s2.close(); truelight@0: System.exit(0); truelight@0: } truelight@0: } truelight@0: }