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