2007/09/06(Thr)C# で MidiIn

はてブ数 2007/09/06 3:40 計算機な日記::ソフト作り つーさ

夜中に鼻血を出したので例の音いじり用プログラムをぼちぼち。
C++で書き始めたんだけど、VS2005のC++のいんてりせんすがあまりいんてりではなくて、MSDN読みながらじゃないとウィンドウさえ作れなくなってしまっていたので、やめました。
当時は、あのくらいの定数群全然気にならずに使えたのに、いんてりせんす慣れとは恐ろしいもので。
もうC++でGUIプログラム書けないかも。

まぁ、C#でMidiOutを扱うクラスは書けたんですが、midiInはどうしようかな。
データが入力されるたびに発生するコールバックに何を使うか。
Win32のWindowMessageかThreadかEventかFunctionか。
Functionにしてdelegate渡すのが一番良いんだけど、呼ばれたコールバック関数の中でバッファを再投入してはいけないことになっているのが問題。
再利用するなら他の方法を使えってこと? っていうか、どうなのこの泥仕様^^;
あまりにもスマートではない気がする。
ところで、この場合の用法における「スマート」の反対語って何だろう。