Ich möchte ein java-Programm schreiben, über welches ich Midi senden und empfangen kann. Ich verwende loopMidi um die Ports zu erzeugen, weil ich noch keine Bibliothek für java gefunden habe um das zu tun. Jetzt habe ich folgendes Problem: loppMidi-ports lassen sich anscheinend nicht als Input-Ports verwenden.

das ist ein Codeausschnitt:

public static ArrayList<String> getInputPorts() throws MidiUnavailableException {
    MidiDevice.Info[] infos = MidiSystem.getMidiDeviceInfo();
    ArrayList<String> inputPorts = new ArrayList<>();
    for (MidiDevice.Info info : infos) {
        MidiDevice device = MidiSystem.getMidiDevice(info);
        // Gerät öffnen, um sicherzustellen, dass Transmitter verfügbar sind
        device.open();
        if (device.getMaxTransmitters() > 0 && !Objects.equals(info.getName(), "Gervill") && !Objects.equals(info.getName(), "Real Time Sequencer") && !Objects.equals(info.getName(), "Microsoft MIDI Mapper") && !Objects.equals(info.getName(), "Microsoft GS Wavetable Synth") && !inputPorts.contains(info.getName())) {
            inputPorts.add(info.getName());
        }
        // Gerät nach Prüfung schließen
        device.close();
    }
    return inputPorts;
}

es wird leider immer eine komplett leere ArrayList zurückgegeben, obwohl ja eigentlich die loop midi Ports zurückgegeben werden müssten. Woran kann das liegen?