新着表示
タイトル
記事No
投稿日
投稿者
参照先
Re^3: KbMedia Player Version 3.12beta5.2024.0316
273
2024/03/16(Sat) 09:38:58
Kobarin

kbpsf2.kpi も viopsf2.bin をロード出来なくなってて動作しませんね。

最新版の VS2019(v16.11.34) でビルドすれば動作するので次の正式版は VS2019 と VS2022 でビルド
した2種類を公開して VS2019 でビルドした方を Windows XP 対応最終版にしようかと思います。

VS2022 でも動作するようにする方法が分かればそれに越したことはありませんが。
pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re^2: KbMedia Player Version 3.12beta5.2024.0316
272
2024/03/16(Sat) 01:22:40
Kobarin

> v3.12beta2 からVMware 上の XP で kbunarc.kpi がロード出来なくなったようですね。
> v3.12beta までは動作するので VS2022 を新しくしたのが原因と思われます。
> kbvsti_x86.kpi もロード出来なくなっています。

kbunarc.kpi も kbvsti_x86.kpi も AcquireSRWLockExclusive という API を使うように
なっていてこれが怪しい気がします。

プラグインとして明示的には呼ばないので何がこれを呼ぶ原因となるのか分かりません。
何となくグローバル変数とかスタティックな変数の初期化の為に呼ばれてそうな予感が
しますが…。
pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re: KbMedia Player Version 3.12beta5.2024.0316
271
2024/03/16(Sat) 00:41:35
Kobarin

v3.12beta2 からVMware 上の XP で kbunarc.kpi がロード出来なくなったようですね。
v3.12beta までは動作するので VS2022 を新しくしたのが原因と思われます。
kbvsti_x86.kpi もロード出来なくなっています。

マイナーな形式のプラグインが動作しないならともかく、kbunarc.kpi が動作しないのは
致命的です。

一応調査してみますが XP 対応はそろそろ終わりかもしれませんね
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
タイトル
記事No
投稿日
投稿者
参照先
KbMedia Player Version 3.12beta5.2024.0316
269
2024/03/16(Sat) 00:06:10
Kobarin

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

・本体の開発環境を C++Builder 12 v29.0.51511.6924 に更新
・各種プラグイン/DLL の開発環境を VS2022 17.9.3 に更新
・終了時に演奏してなくてもレジューム再生が利いてしまうことがあるのを修正
・起動直後等のプラグイン検索時、見つかったプラグインをロードする直前にそのパス
 を表示するようにした
 ・バージョンアップ直後の初回起動に時間がかかってフリーズしてるように見えるの
  を防ぐ効果
 ・実際にフリーズした場合に原因となるプラグインが分かるようにする効果
 ・2回目以降の起動時は基本的にプラグインをロードしないので表示されない
・デコーダプラグインで連続再生時、最後の曲の終端が再生されないのを修正
・kbflac.kpi に関する以下の修正
 ・libFLAC を 1.4.3(2023/06/23) に更新
・kbGuru2SMF.kpi に関する以下の修正
 ・DLS に対応
  ・プラグイン設定で DLS のパスを設定(| で区切ることで複数ファイル指定可)
  ・曲データと同じフォルダに DLS があればそれも使う
  ・音色が被る場合の優先順位は
   ・曲データと同じフォルダ(見つかった順) => プラグイン設定(記述順)
  ・動作確認出来るデータがない
・kbm4a.kpi に関する以下の修正
 ・FAAD2 を v2.11.1(2023/11/14) に更新
・kbmac.kpi に関する以下の修正
 ・Monkey's Audio SDK 10.55(2024/03/12) に更新
・kbmod.kpi に関する以下の修正
 ・libopenmpt を 0.7.4(2024/03/03) に更新
・kbmpg123.kpi に関する以下の修正
 ・libmpg123 を 1.32.5(2024/02/17) に更新
 ・プラグイン設定で選択可能なデコーダの数を増やした
・kbsnesapu.kpi に関する以下の修正
 ・SNESAPU.DLL を 2.20.1.8272(2023/12/03) に更新
 ・SNESAPU.DLL 2.20.0 以降の新サンプリングレートコンバータのノイズ対策
  ・実機エコー/FIR 処理 が true で再生周波数が 32001Hz 以上のとき
  ・KPI_MEDIAINFO::dwUnitSample に 10ms 相当の値(44100Hz なら441)を渡すことで
   必ず EmuAPU を 10ms 単位で指定する
・kbunarc.kpi に関する以下の修正
 ・unrarsrc を 7.0.7(2024/02/26) に更新
 ・LZMA SDK を 23.01(2023/06/20) に更新
・kbwv.kpi に関する以下の修正
 ・libwavpack を 5.7.0(2024/02/27) に更新
・kblibpng.dll に関する以下の修正
 ・libpng を 1.6.43(2024/02/23) に更新
・kbzlib.dll に関する以下の修正
 ・zlib を 1.3.1(2024/01/22 に更新


ライブラリの更新はエミュ系がまだ残っています。

BCB を最新版にしたら本体の実行ファイルサイズが大きくなってしまいました。
CodeGuard を有効にして実行すると終了時に fflush に不正なパラメータを渡したみたいな報告が
出るようになりました。本体は fflush や fopen 系を使ってる箇所がないので BCB のライブラリ
の問題としか思えません。

BCB は VS2022 に比べると IDE の使い勝手が悪くて本体の開発はとてもストレスが溜まります。
CodeGuard のメモリリーク検出はとてつもなく便利ですが。

毎年5万円以上のお布施をしないとバージョンアップが出来ず、そのお布施の額は毎年少しずつ
高くなっていきます。ユーザーを馬鹿にしています。でも本体を VS2022 に移行させることは
出来ないのでしぶしぶ使っています。


kbGuru2SMF.kpi は一応 DLS に対応しましたが DLS を使う MIDI データがないです。
どこかにあるなら教えて下さい。

GuruGuruSMF には DLS を追加する API はありますが削除や破棄する API がありません。
現状はデバイスを閉じると DLS が破棄される仕様となっていますのでそれを前提とした
作りにしています。
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
投稿日
投稿者
参照先
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
投稿日
投稿者
参照先
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
投稿日
投稿者

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
タイトル
記事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

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