私の目標は、次のような単純な (コンソール) プログラムを作成することです。
- MIDI 入力から MIDI メッセージを取得する
- メッセージの変更 (またはメッセージの追加)
- メッセージを MIDI 出力に書き込む
私は C++ にまったく慣れていないので、最後に C コードを書いてから 15 年が経ちました。目標を達成するのに役立ちます。
Xcodeを使用してコンパイルなどを行っています。
また、コールバック関数を使用するのが理にかなっていると考えました。
RtMidi のコードは、すぐに使用できます。仮想 MIDI ポートを開くことができ、コンソールに出力されるコールバック関数に MIDI メッセージを取得します。
しかし、コールバック実装の動作を理解していないため、今は行き詰まっています (私はそう思います)。
私の質問は次のとおりです。
- コールバック関数内で MIDI メッセージの変更を行う必要がありますか?
- はいの場合、コールバック関数から MIDI 出力に書き込むにはどうすればよいですか?
- いいえの場合: MIDI メッセージを自分の cpp コードに取り込むにはどうすればよいですか (おそらくユーザーデータ フィールドへのポインターを渡すことによって)。
- しかし、その後 - メッセージがコールバック関数に到着したときに、メッセージを処理するためにメイン コードはどのようにトリガーされるのでしょうか?