複数の同一の USB-MIDI デバイスを接続し、Python と pyportmidi を使用してそれらと通信しています。Linux でコードを実行すると、デバイスの MIDI ポートが異なる順序で列挙されることがあるため、間違ったデバイスにメッセージを送信することに気付きました。デバイスには一意の識別子がないため、接続されている USB ポートで識別する必要があると言われました。
この情報を取得する方法はありますか? 私のアプリは Linux で動作しますが、Mac OS のサポートは開発に役立ちます。
通常、適切な順序で列挙されるため、面倒です。ハブの最初のデバイスは portmidi の最初のデバイスですが、そうでない場合もあります。通常、最初の 2 つのデバイスが切り替えられます。デバイスを修理するには、プラグを抜かずにデバイスを物理的に移動する必要があります。