MidiDeviceRecord.java
package com.github.dakusui.symfonion.utils.midi;
import javax.sound.midi.MidiDevice;
import static com.github.dakusui.symfonion.utils.midi.MidiUtils.isMidiDeviceForInput;
import static com.github.dakusui.symfonion.utils.midi.MidiUtils.isMidiDeviceForOutput;
public record MidiDeviceRecord(boolean in, boolean out, MidiDevice.Info info) {
public String io() {
return (in() ? "I" : "") + (out() ? "O" : "");
}
public static MidiDeviceRecord fromMidiDeviceInfo(MidiDevice.Info midiDeviceInfo) {
return new MidiDeviceRecord(isMidiDeviceForInput(midiDeviceInfo), isMidiDeviceForOutput(midiDeviceInfo), midiDeviceInfo);
}
}