一括表示
タイトル
記事No
投稿日
投稿者
参照先
KbMedia Player Version 3.12beta4.2024.0309
265
2024/03/08(Fri) 23:40:08
Kobarin

https://kobarin.sakura.ne.jp/test/kbmed312_beta4.exe
https://kobarin.sakura.ne.jp/test/kbmed312_beta4.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.12beta4 での変更点

・kbGuru2SMF.kpi に関する以下の修正
 ・GuruGuruSMF4.dll に関する以下の修正
  ・ベースを v4.0.8 に更新
  ・DirectMusic 関連のオブジェクトの全ての操作をそれを作成したスレッド内のみ
   で行うようにした(Port.cpp を大幅修正)
  ・GGS4CloseDevice を呼んでから FreeLibrary すればフリーズしなくなった為、
   フリーズ対策として新設した後始末用API(GGS4Uninialize_k)を廃止
 ・GuruGuruSMF が演奏停止を返してもすぐに本体には停止を返さず、1秒経過してか
  ら返すようにした
  ・連続再生時に曲によっては最後の音が切れた感じになるため
 ・GGS4Play() の option に渡す設定に対応
  ・ループ再生
  ・冒頭の空白をスキップ
  ・末尾の空白をスキップ
  ・マスターピッチ
  ・ノーマライズ
  ・エクスクルーシブ
・本体の更新はバージョン情報のみ


kbGuru2SMF.kpi 以外の更新はありませんので、kbGuru2SMF.kpi を使う予定がない人は更新
しなくても良いと思います。

GuruGuruSMF の作者様に不具合報告をしたら早速 v4.0.8 で対応されました。
プラグイン同梱の GuruGuruSMF4.dll も早速 v4.0.8 をベースにしましたが、それに対して
内部的に大きな修正(Port.cpp)をしているので、もし動作がおかしかったら知らせて下さい。

Port.cpp の修正は v4.0.8 に何か問題があったとかではなく、複数インスタンス対応と同じか
それ以上に趣味に近い修正です。

もし同梱の GuruGuruSMF4.dll の動作に問題があるようなら公式版 v4.0.8 を使用してみて下さい。
v4.0.7 の不具合が修正されていますのでフリーズすることはないと思います。

http://gurugurusmf.migmig.net/


kbGuru2SMF.kpi は致命的なバグがない限り今度こそほぼ完成かな。
DLS 対応だけ気になってますが対応するデータ(DLS を使うことで制作者が意図した再生を
することが出来るような MIDI と DLS のセット)が手元にないのでやる気がしません。
pagetop
タイトル
記事No
投稿日
投稿者
参照先
kbGuru2SMF.kpi v0.04
266
2024/03/09(Sat) 00:43:39
Kobarin

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

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

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

kbGuru2SMF_memo.txt

を参照して下さい。

バージョンアップの度にプラグインのソースを公開するのはこれで最後にします。
GuruGuruSMF の作者様への不具合報告の意味も込めて公開していましたが、v4.0.8
で対応されたようですので。v4.0.8 の不具合は確認出来ていません。


非ループ曲のループがおかしくなるのは作者様によると仕様だそうです。
演奏がおかしくなるデータは1つしか見つけることが出来ませんでしたが、GGS4Play() の
option に対応するついでにプラグイン設定で非ループ曲のループに GuruGuruSMF の機能を
使うか設定出来るようにしました。


 ・DirectMusic 関連のオブジェクトの全ての操作をそれを作成したスレッド内のみで
  行うようにした(Port.cpp を大幅修正)

これは実際は必要ない気もしますがちょっと頑張ってみました。
もし v0.04 がまともに動作しなくなったならこれに関する修正が原因になると思います。
ベースとした公式版 v4.0.8 には何の罪もありません。

まともに動作しないようなら公式版 v4.0.8 をダウンロードし、プラグイン設定の
GuruGuruSMF4.dll のパスで公式版のv4.0.8 のパスを指定して下さい。

http://gurugurusmf.migmig.net/
pagetop
タイトル
記事No
投稿日
投稿者

Re: KbMedia Player Version 3.12beta4.2024.0309
267
2024/03/12(Tue) 21:25:58
You
更新ありがとうございます。

プラグインにループ&フェードアウトのSMFデータが渡されているので、
kbGuru2SMF.kpi のオプションで冒頭と末尾の空白をスキップさせると良い感じですね。

GuruGuruSMF の方も更新されたのは驚きでした。
kbGuru2SMF.kpi v0.01 と公式版 GuruGuruSMF v4.0.8 を組み合わせてもフリーズが発生しなくなっていますね。


本体とプラグインに不具合と思われる現象を確認したので報告します。

・連続再生で最後に演奏される曲がwav, mp3, ogg, flac等(midi以外のデコーダプラグイン?)の場合、(曲の長さ - 先読みバッファのサイズ)の所で再生が停止する
3.12beta.2022.1108 以降で発生

→[単曲リピート][全曲リピート]オフ, [連続再生]オン
→→[未再生の曲だけ再生]がオンで、[演奏リスト]が全曲チェックされている状態で[演奏リスト]の任意のmp3等を再生
→→[未再生の曲だけ再生]がオフで、[演奏リスト]の一番下にあるmp3等を再生


・kbvorbis.kpi でoggファイル再生時、LOOPSTART と LOOPLENGTH が設定されている曲を(2ループ目以降の時間に?)シークするとシーク位置がずれる
3.09b.2021.503 以降で発生 ※これ以前のverは未確認

様々なデータで発生しますが、一例を挙げると「新約・帽子世界」https://rpgex.sakura.ne.jp/littleworld/ のBGMが有ります。
Audio\BGM\024.ogg を再生し 1:34~1:46 辺りにシークすると、どこにシークしても同じ音から再生されるように思えます。
また、1:45 辺りにシークして最後まで再生すると再生終了時の時間が[2:02/1:51]になります。
pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re^2: KbMedia Player Version 3.12beta4.2024.0309
270
2024/03/16(Sat) 00:15:59
Kobarin

kbGuru2SMF.kpi は DLS に対応しました。こんどこそほぼやり切った切った感じですね。
手元に DLS 使うデータがないので対応しても空しかったですけど。

あとはマスターボリューム SysEx 使ってフェードアウトするタイプの曲でフェードアウト
しないのが気になっています。

GGS4Play の option の説明を見る限り意図的に送信しない感じなのですよね。
そもそも受信するのかも未確認で分かりませんが。

> ・連続再生で最後に演奏される曲がwav, mp3, ogg, flac等(midi以外のデコーダプラグイン?)の場合、(曲の長さ - 先読みバッファのサイズ)の所で再生が停止する

不具合報告ありがとうございます。
v3.12beta5 で修正しました。

> ・kbvorbis.kpi でoggファイル再生時、LOOPSTART と LOOPLENGTH が設定されている曲を(2ループ目以降の時間に?)シークするとシーク位置がずれる

こちらは v3.12beta5 の次以降の版で修正します。
多分プラグインではなく本体の不具合のような気がします。

ちなみにデコーダプラグインでループ時に GuruGuruSMF みたいにループポイントの位置に再生位置を
戻すのは難しそうです。
pagetop

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