私は C の初心者であり、MIDI シーケンスを実行するプログラムを作成しようとしています。基本的に、2 つの関数があり、両方とも異なる MIDI パターンを実行しており、それらを並行して実行する必要があります。関数の性質 (1 つはシーケンスを実行し、もう 1 つはランダムなノートを再生する) のため、同じ関数で実行することはほぼ 100% 確実です。
pthreads (どうやら Windows では動作しないのですか?) と CreateThread() を使用してこれを行う方法について手がかりを得るためにインターネットを精査してきましたが、動作させることができないようです。私は現在、CreateThread() を使用しようとしており、ランダムな midi シーケンスに必要な整数を取り込もうとしていますが、「LPTHREAD_START_ROUTINE」に関するエラーが発生します。 (int、int、int)'.
私が取り組んでいるものの一種の擬似コードは次のとおりです。
DWORD WINAPI solo_thread(int key, int tempo, int scale)
{
///// this contains the random midi notes
}
int backing(int key, int tempo, int backing)
{
HANDLE thread = CreateThread(NULL, 0, solo_thread, NULL, 0, NULL);
if (thread) {
////// this contains the midi sequence
}
問題をうまく説明できれば幸いです...しかし、最も可能性の高いケースは、この CreateThread() のことをすべて間違った方法で行っていることであることをよく知っています。
ありがとう!