6

同じタイプのハードウェアの複数の USB MIDI デバイスを使用しようとすると、デバイスの名前付けのあいまいな動作に直面しています。これはハードウェア/システム/ドライバーに関連している可能性があるため、一般的な設定は次のとおりです。

  • ホスト: Windows 8.1 x64 (複数のマシンでテスト済み)
  • USB デバイス: 2x Livid Brain V2 (汎用の usb-midi インターフェイス)

2 つのデバイス (同じハードウェア、デバイス X および Y と呼びましょう) は、2 つの異なるファームウェア フレーバーでフラッシュされるため、MIDI 列挙では異なる名前で表示されます。デバイス X のみを接続すると、「Brain2」と表示され、デバイス Y のみを接続すると「Brain2B」と表示されます。これらは、MIDIINCAPS / MIDIOUTCAPS (winmm.dll) から取得した名前です。ここまでは順調ですね。

両方のデバイスを同時に接続するとすぐに問題が発生し、両方が(後者が接続された)同じ名前を取得するため、列挙が変更されます。

  • 最初に X、次に Y => 両方とも「Brain2B」という名前を取得します
  • 最初に Y、次に X => 両方とも「Brain2」という名前を取得します

ただし、デバイスにアクセスして使用することはできますが、それらを区別することはできません (これは基本的に、両方のデバイスで同じファームウェアを使用する場合と同じ開始位置です)。

誰かが私を正しい方向に向けることができれば幸いです。誰かが似たようなことに遭遇しましたか? これはシステム関連の問題でしょうか? (それともドライバーが悪いのでしょうか?) よろしくお願いします!


編集:

USB Device Tree Viewer (USBView に類似)というツールを使用して USB のプロパティを詳しく調べたところ、識別子が正しいことがわかりました。では、 winmm.dllはどのようにして midi 列挙を取得するのでしょうか - そこにバグがあるのでしょうか? (ありそうもない)


モリッツ

(ところで: 製造元のフォーラムの関連トピック/投稿は次のとおりです:リンク)

4

0 に答える 0