data[3][1] = midiDeviceInfo[ii].getDescription();
public static boolean infoMatchesSliderboard(MidiDevice.Info info, String sliderBoardName) { String name = info.getName(); String description = info.getDescription(); return name.contains(sliderBoardName) || description.contains(sliderBoardName); }
public static void printMidiDevices() { if (midiDeviceInfos == null) { System.out.println("Loading device info.."); midiDeviceInfos = MidiSystem.getMidiDeviceInfo(); } System.out.println("\nBelow midi device names are available in the OS; the .json config should reference these: "); for (int i = 0; i < midiDeviceInfos.length; i++) { System.out.printf("midi device name: \"%s\" (vendor=%s, descr=%s)\n", midiDeviceInfos[i].getName(), midiDeviceInfos[i].getVendor(),midiDeviceInfos[i].getDescription()); } }
data[3][1] = midiDeviceInfo[ii].getDescription();
for(MidiDevice.Info info : MidiSystem.getMidiDeviceInfo()) System.out.println("\t" + info.getName() + ": " +info.getDescription());
System.out.println(" Vendor: " + infos[i].getVendor()); System.out.println(" Version: " + infos[i].getVersion()); System.out.println(" Description: " + infos[i].getDescription()); description = infos[i].getDescription(); if ((name.indexOf("UC-33") >= 0) || (infos[i].getDescription().indexOf("UC-33") >= 0)) System.out.println("PHYSICAL " + inDevice.getDeviceInfo().getName() + " - " + inDevice.getDeviceInfo().getDescription());
System.out.println(" Name: " + info.toString() + ", Decription: " + info.getDescription() + ", Vendor: " + info.getVendor());
if(deviceInfo.getDescription().equals("External MIDI Port")){ external = MidiSystem.getMidiDevice(deviceInfo); System.out.println("Device Name : " + deviceInfo.getName()); System.out.println("Device Description : " + deviceInfo.getDescription() + "\n");
public static MidiDevice findMidiDevice(String[] deviceNames, boolean receive, boolean transmit) { if (midiDeviceInfos == null) { System.out.println("Loading device info.."); midiDeviceInfos = MidiSystem.getMidiDeviceInfo(); } try { for (int i = 0; i < midiDeviceInfos.length; i++) { MidiDevice device = MidiSystem.getMidiDevice(midiDeviceInfos[i]); boolean canReceive = device.getMaxReceivers() != 0; boolean canTransmit = device.getMaxTransmitters() != 0; int matches = 0; for (String name : deviceNames) { if (midiDeviceInfos[i].getName().toLowerCase().contains(name.toLowerCase()) || midiDeviceInfos[i].getDescription().toLowerCase().contains(name.toLowerCase())) { matches++; } } if (matches == deviceNames.length && receive == canReceive && transmit == canTransmit) { return device; } } } catch (MidiUnavailableException e) { System.out.printf("MIDI not available: %s\n", e); } return null; }
/** * Tries to detect a valid inbound communication channel, based on a known device signature * (see {@link net.thecodersbreakfast.lp4j.midi.MidiDeviceConfiguration#DEVICE_SIGNATURE}). * * @return A valid outbound communication channel, or {@code null} if non was found. * @throws MidiUnavailableException if the requested device is not available due to resource restrictions */ public static MidiDevice autodetectInputDevice() throws MidiUnavailableException { MidiDevice.Info[] midiDeviceInfo = MidiSystem.getMidiDeviceInfo(); for (MidiDevice.Info info : midiDeviceInfo) { if (info.getDescription().contains(DEVICE_SIGNATURE) || info.getName().contains(DEVICE_SIGNATURE)) { MidiDevice device = MidiSystem.getMidiDevice(info); if (device.getMaxTransmitters() == -1) { return device; } device.close(); } } return null; }
/** * Tries to detect a valid outbound communication channel, based on a known device signature * (see {@link net.thecodersbreakfast.lp4j.midi.MidiDeviceConfiguration#DEVICE_SIGNATURE}). * * @return A valid outbound communication channel, or {@code null} if non was found. * @throws MidiUnavailableException if the requested device is not available due to resource restrictions */ public static MidiDevice autodetectOutputDevice() throws MidiUnavailableException { MidiDevice.Info[] midiDeviceInfo = MidiSystem.getMidiDeviceInfo(); for (MidiDevice.Info info : midiDeviceInfo) { if (info.getDescription().contains(DEVICE_SIGNATURE) || info.getName().contains(DEVICE_SIGNATURE)) { MidiDevice device = MidiSystem.getMidiDevice(info); if (device.getMaxReceivers() == -1) { return device; } } } return null; }
public static SliderboardType findConnectedSliderBoard() { for (MidiDevice.Info info : MidiSystem.getMidiDeviceInfo()) { String name = info.getName(); String description = info.getDescription(); for (SliderboardType sliderboardType : SliderboardType.values()) { String identifier = sliderboardType.getStringIdentifier(); if (name.contains(identifier) || description.contains(identifier)) { return sliderboardType; } } } PrintTools.info("Was not able to find a supported sliderboard."); return null; } }
public String toString() { return "DEVICE[" + myDevice + "], vendor[" + myDevInfo.getVendor() + "], name[" + myDevInfo.getName() + ", description[" + myDevInfo.getDescription() + "]"; }
/** * Logs MIDI system info (e.g. MIDI devices). */ public void logMidiSystemInfo() { getDevices().forEach(device -> logger.info( "Device: name={}, class={}, description={}, vendor={}, version={}, microsecondPosition={}, " + "maxTransmitters={}, maxReceivers={}", device.getDeviceInfo().getName(), device.getClass().getSimpleName(), device.getDeviceInfo().getDescription(), device.getDeviceInfo().getVendor(), device.getDeviceInfo().getVersion(), device.getMicrosecondPosition(), device.getMaxTransmitters(), device.getMaxReceivers())); }