MIDIメッセージをネットワーク上でやり取りしてみた

TCPのソケット通信。
一人で送信と受信の両方をやってる。
相手固定のP2Pのような。
とりあえず、LAN内で自由につなぎあえるものを作りたい。
そろそろGUIつけてみたい。
 

プログラム起動

MIDI INデバイスを開く。
コールバック関数設定。
  ↓
MIDI OUTデバイスを開く。
  ↓
MIDI IN入力開始。
  ↓
ソケット初期化。
  ↓
マルチスレッドでTCPの9876番ポート待受。(Receiver)
  ↓
自分の9876ポートに対して接続。(Sender)
  ↓
スレッド終了待ち。
永遠にここから先へは進まない。
  ↓
MIDI IN入力停止。
  ↓
MIDI INデバイスを閉じる。
  ↓
MIDI OUTデバイスを閉じる。
 

パケット送信

MIDI INデバイス操作。
  ↓
コールバック関数が呼ばれる。
  ↓
Sender実行。
接続されたすべての相手に入力されたMIDIメッセージをchar[3]に変換してsend。
 

パケット受信

Receiverが送られてきたパケットをrecv。
  ↓
パケット内容をDWORDに変換してMIDI OUTデバイスMIDIメッセージを送信。