thanks, LOL
I think this only happens when you don't pay attention...
that's in some way true but concerning myself I think such things should be as dummy proof as possible. Especially in a live situation simpler operation gives more security. There are more importan things to do live than fixing technical issues...
Basically it's windows that provides limited information on midi ports. You can not rely on getting manufacurer and other midi device info. The plug&play driver may not support it and edicated drivers may or may not provide that...
With the id's it's not just the port location but also the order of detection which can change with the order you power on your midi devices too...
One better way from an application is to try to find the port with the appropriate port name. If this does not work for any reason the other informations may help to resolve to the right port. But again windows provides no guaranteed way to reassign the proper device to a midi port... finally all calls refer to a port id...
I have one workaround in my app when all strategies fail... I present and open all ports and wait for a key press to reidentify a keyboard port. That's quite simple and easy to do. However on complex setups with many midi controllers on different ports the procedure can be cumbersome too... and I haven't worked out complex reassignment issues as well.
