2

qt4.7でのRtMIDI; MIDI入力ポートとMIDI出力ポートにポート0を使用し、MIDIチャンネル1を使用して送受信します。

これはOSXで完全に機能します。送受信しますが、問題はありません。

Windows(MacのVMware Fusion Windows XP VMで実行)では正常にコンパイルされ、アプリはコントロールサーフェスにメッセージを送信できますが、何も受信しません...コールバックを受け取らないため、midi入力がありません。MIDI入力デバイスと出力デバイスの両方を開いても問題ないようで、エラーは発生しません。

OSXに戻って、同じアプリ(もちろん、OSX用にコンパイルされたもの)を実行すると、コントロールサーフェスで構成を変更しなくても、すべてが再び機能します。

so:サーフェスが接続して開いています(ウィンドウの下でMIDIを受信します)。しかし、私はそれから何も得られません。

ここで何かが足りませんか?

TIA

4

3 に答える 3

3

Windows XPでは、入力用に開かれたデバイスはデバイス1(0 ... 1)である必要があります

Windows 7スターターでは、出力用に開かれたデバイスはデバイス1(0 ... 1)である必要があります

OSXでは、入力と出力の両方をゼロにする必要があります。

それがすべてでした。後で設定ダイアログが表示され、問題が解決しました(少なくとも、エンドユーザーに渡されます)。

RtMidiは素晴らしいパッケージで、ドキュメントが少し不足していますが、それ以外はすばらしいです。

于 2012-06-13T21:09:17.700 に答える
2

Windowsデバイス0では、常にWindows Media PlayerのMIDIシンセサイザーであり、MIDIデバイスはデバイス1から始まります。ポート名を読み取ってからインデックス値オフセットを選択すると、名前でMIDIポートを選択できます。これにより、次の場合にポートの位置を変更できます。他のデバイスが追加/削除されるため、プログラムは同じデフォルトのMIDIデバイスを選択します。

于 2014-02-17T19:40:28.120 に答える
1

OSXとは異なり、Windowsは必ずしも同じデバイスの入力ポートと出力ポートを同じID/ポート番号に保持するわけではありません。かっこいい?

設定ダイアログは非常に便利ですが、1つのポートがわかっている場合は、反対のIO方向のポート名を検索して対応するポートを取得できます。

于 2012-08-24T03:27:59.510 に答える