public static List<String> getMidiOutDriverList(){
		
		Info[] infoArray = MidiSystem.getMidiDeviceInfo();
		
		List<String> deviceList = new ArrayList<String>();
		
		for (Info info : infoArray) {
			
			try{
				MidiDevice device = MidiSystem.getMidiDevice(info);
				
				int recMax = device.getMaxReceivers();
				int trsMax = device.getMaxTransmitters();
				
				if(trsMax == 0 && (recMax == UNLIMITED || recMax > 0)){
					
					deviceList.add(info.getName());
				}
				
			}catch(MidiUnavailableException ex){
				
				System.out.println("Skip device :" + info.getName());
			}
		}
		
		return deviceList;
	}