Description
Both ALSA and CoreMIDI (Mac) have a 2-level organization of MIDI ports. The first level (called Entity in CoreMIDI and Client in ALSA) typically corresponds to an application or single hardware device. The second level (called Endpoint in Core MIDI and Port in ALSA) corresponds to actual MIDI ports.
Most USB MIDI devices have a single Entity (the device itself), but multiple Endpoints (the individual MIDI ports on a interface device, or the internal connections on a keyboard or synth). This allows software to reflect the grouping implicit in the hardware.
Web MIDI only exposes the second concept, as MIDIPort
. It would be nice to have a way to express the first level concept in WebMIDI, so that software can say "Port X" on the "Y MIDI interface", and display appropriately.