一括表示Re^6: kbdmusic.kpi代替のMIDI再生プラグインを作成しました
記事No 253
投稿日 2024/02/25(Sun) 13:55:11
投稿者 Kobarin
参照先 https://kobarin.sakura.ne.jp/
検証ありがとうございます。

本体や kbrunkpi.exe でプラグインの API を呼ぶスレッドでは最初に
CoInitializeEx(NULL, COINIT_APARTMENTTHREADED) を呼び出してるので、COINIT_MULTITHREADED
である必要があるプラグインはプラグイン自身でスレッドを作成し、その中で CoInitializeEx を
呼び出す必要があります。

記憶が定かではありませんが、CoInitializeEx(NULL, COINIT_MULTITHREADED) すると動作
しなくなる機能があったのでそういう仕様にしたのだと思います。
本体と kbrunkpi のソースコードを確認するとわざわざ COINIT_MULTITHREADED をコメントアウト
して COINIT_APARTMENTTHREADED にしていました。

原因が分からなかったので対症療法ですね。
ここらへんも含めてもう一度調査してみます。

そういう訳で、kbdmusic.kpi で CoInitialize を呼んでないのは、本体が呼んでいることを
想定しているからで、きちんとやるなら自身でスレッドを作成してその中で CoInitialize
すべきでした。

kbGuru2SMF.kpi の MIDI 再生機能はとても魅力的なので kbdmusic.kpi に取り込みたいと
考えています。

kbGuru2SMF.kpi だけでなく GuruGuruSMF4.dll のソースの方も眺めてみましたが
MIDI の根本的な対処方法についてはすぐには分かりませんでした。

しばらく更新さぼってましたが少しやる気が出て来ました。
記事編集 記事編集
関連一覧ツリー 一括表示 をクリックするとツリーを一括表示します)
一括表示 kbdmusic.kpi代替のMIDI再生プラグインを作成しました - You 2024/01/30(Tue) 20:20 No.240
  Re: kbdmusic.kpi代替のMIDI再生プラグインを作成しました - You 2024/01/30(Tue) 20:31 No.241
  Re^2: 修正版 - You 2024/01/31(Wed) 01:30 No.242
    Re^3: 修正版 - El-halo 2024/01/31(Wed) 10:35 No.243
      Re^4: 修正版 - You 2024/01/31(Wed) 16:46 No.244
        Re^5: 修正版 - El-halo 2024/01/31(Wed) 22:09 No.245
  Re: kbdmusic.kpi代替のMIDI再生プラグインを作成しました - Kobarin 2024/02/04(Sun) 14:12 No.248
    Re^2: kbdmusic.kpi代替のMIDI再生プラグインを作成しました - Kobarin 2024/02/04(Sun) 15:16 No.249
      Re^3: kbdmusic.kpi代替のMIDI再生プラグインを作成しました - Kobarin 2024/02/04(Sun) 15:39 No.250
        Re^4: kbdmusic.kpi代替のMIDI再生プラグインを作成しました - You 2024/02/07(Wed) 20:29 No.251
          Re^5: kbdmusic.kpi代替のMIDI再生プラグインを作成しました - You 2024/02/18(Sun) 01:45 No.252
            Re^6: kbdmusic.kpi代替のMIDI再生プラグインを作成しました - Kobarin 2024/02/25(Sun) 13:55 No.253
              Re^7: kbdmusic.kpi代替のMIDI再生プラグインを作成しました - Kobarin 2024/02/26(Mon) 01:26 No.254
返信フォーム ( 記事に返信する場合はこのフォームから投稿して下さい )
おなまえ
Eメール
タイトル
メッセージ
参照先
添付
暗証キー (英数字で8文字以内)
投稿キー (下画像の数字を入力)

投稿キー

  


- Web Forum v8.0 -
++ Edited by Hamel ++