一括表示
タイトル
記事No
投稿日
投稿者
参照先
KbMedia Player Version 3.12beta3.2024.0304
262
2024/03/04(Mon) 00:06:38
Kobarin

https://kobarin.sakura.ne.jp/test/kbmed312_beta3.exe
https://kobarin.sakura.ne.jp/test/kbmed312_beta3.7z

.exe と .7z はどちらも中身は同じです。
.7z の展開の仕方が分からない方は .exe をダウンロードして下さい。

.exe だと Microsoft Edge でブロックされる方は .7z をダウンロードして下さい。
Microsoft Edge にブロックされる方は安全だと報告してくれると助かります。

起動時にエラーメッセージが表示されてプラグインが認識されない場合は
Microsoft Visual C++ 2022 再頒布可能パッケージが必要です。
https://visualstudio.microsoft.com/ja/downloads/#other-ja-family
x64 版ランタイムファイル直リンク
https://aka.ms/vs/17/release/VC_redist.x64.exe
x86 版ランタイムファイル直リンク
https://aka.ms/vs/17/release/VC_redist.x86.exe
(x64 版の動作には vc_redist.x64.exe と vc_redist.x86.exe の両方が必要です)

VS2019 のランタイムでも動作はするようですが、念のため VS2022 の
ランタイムを入れて下さい。Windows XP 環境の人は除きます。

Windows XP で使いたい方は

https://kobarin.sakura.ne.jp/wforum/wforum.cgi?mode=read&no=181&reno=180&oya=180&page=0#181

こちらを参考にして古いランタイムをインストールして下さい。一応まだ
XP でも動作するようです。

v3.12beta3 での変更点

・各種プラグイン/DLL の開発環境を VS2022 17.9.2 に更新
・kbGuru2SMF.kpi に関する以下の修正
 ・タイミングによってデバイスを開けずに再生開始出来ないことがあるのを修正
 ・複数のインスタンスを同時に作成出来るようになった
  (プラグイン情報の Reentrant が Yes(MultipleInstance=∞) になった)
  ・GuruGuruSMF4.dll の API を新設
  ・公式版 GuruGuruSMF4.dll も使用可能(Reentrant が No になる)
  ・大変だった割にはメリットがほとんどない
  ・互換性は残してあるので、公式版の GuruGuruSMF4.dll を使用する他のアプリケ
   ーションからも使用可能(公式版同様アンロード時にフリーズする可能性はある)
 ・CC111 を使用したループ曲を開いたときは KPI_MEDIAINFO::qwLoop に -1 を設定す
  るようにした
  ・v3.12beta3 の仕様変更によるもの
  ・qwLoop を設定しないと本体はループ非対応のプラグインと見なして単曲リピート
   時でも本体の設定に応じた回数とフェード時間の SMF を生成して渡す
  ・その場合、プラグインがループ再生しようとしてもフェードアウトが終わってか
   らループポイントに戻ることになって無音になってしまう
・kbasio.kpi に関する以下の修正
 ・本体の COM の初期化(STA/MTA)に影響せずに動作するようにした
  ・v3.12beta2 で動作しなくなった為
  ・プラグイン自身で作成したスレッド内で STA として COM を初期化
   (MTA だと動作せず)
 ・IASIO::setSampleRate の戻り値をチェックするようにした
  ・サポート掲示板で指摘された件
・MIDI 対応演奏プラグインに関する以下の修正(本体の修正)
 ・プラグインに SetRepeat を呼ばないのを修正
 ・プラグインが CC111(ループ)に対応していてもループ再生が機能しないのを修正
  ・本体が渡す SMF データ自体がループとフェード処理を施したものである為、フ
   ェードアウトしてからループポイントに戻ることになり、戻っても無音が再生さ
   れてしまっていた
 ・単曲リピート時、プラグインがループ対応のときはフェード処理を施さないデータ
  を渡すようにした
 ・↑の必要有無を判断するため、ループ曲のときは KPI_MEDIAINFO::qwLoop の値を
  0 以外の値(具体的なループ時間または-1)に設定する必要がある
 ・単曲リピートの設定変更時に曲データを開き直すようにした
  ・プラグインがループ非対応の場合は常にフェードアウトするデータを渡す
  ・プラグインがループ対応の場合は
   ・単曲リピートが有効のときはフェードアウトしないデータを渡す
   ・単曲リピートが無効のときはフェードアウトするデータを渡す
  ・ループ対応の判定の為、ループ対応の MIDI 演奏プラグインは単曲リピート時に
   同じデータ(プラグインに渡すデータとしては違うデータ)を2度開くことになる


ループもほぼ問題なく動作するようになったし、kbGuru2SMF.kpi はほぼ完成といって良いかな。
ただ、非ループ曲の単曲リピートがおかしくなるデータを1つだけ見つけました。
非ループ曲についてはループを GuruGuruSMF に任せないようにする(再生が終わったら本体に Play
を呼んでもらって再生し直す)ことも考えましたが取り敢えず全データで有効にしています。
pagetop
タイトル
記事No
投稿日
投稿者
参照先
kbGuru2SMF.kpi v0.03
263
2024/03/04(Mon) 00:21:33
Kobarin

kbGuru2SMF.kpi v0.03 のソース(バイナリは v3.12beta3 に同梱しています)

https://kobarin.sakura.ne.jp/kpi/kbGuru2SMF_003s.7z


GuruGuruSMF4.dll のソースコード改変箇所については

kbGuru2SMF_memo.txt

を参照して下さい。

ほぼ完成と言えるくらいにはなったと思います。
ただ、非ループ曲の単曲リピートがおかしくなるデータを1つだけ見つけました。
ループを GuruGuruSMF に任せず、再生が終わったら本体に Play を呼んででもらって
再生し直すと問題ありません。

取り敢えず全データで GuruGuruSMF に任せるようにしています。
pagetop
タイトル
記事No
投稿日
投稿者

Re: kbGuru2SMF.kpi v0.03
264
2024/03/05(Tue) 23:17:36
You
更新ありがとうございます。
気になるけれど私は踏み込まなかったDLLの改造までお疲れ様です。
あまり動作確認のパターンは取れませんが、正常動作しているように思います。

kbGuru2SMF.kpi についても、気になる点はすべて解消しました。
あえて言うなら kbGuru2SMF.txt の「【 公 開 日 】 2024/03/??」と「Version 0.03(2024/03/??)」ぐらいですね。
単曲リピートは「送る」に外部ツール「GGSLight」を設定して対応していましたが、本体のみで完結できるようになりました。

おかげさまでだいぶストレスフリーな再生環境になりました。
pagetop

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