新着表示
タイトル
記事No
投稿日
投稿者
参照先
KbMedia Player Version 3.12beta6.2024.0320
279
2024/03/20(Wed) 00:38:17
Kobarin

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

・ループタグ使用曲の終端付近へのシークが正しく機能しないのを修正
・別ウィンドウの Media エクスプローラの位置、サイズ、ツリーの幅、パスを保存する
 ようにした
・v3.12beta2 以降、WindowsXP で動作しないプラグインがあったのを修正
 ・kbunarc.kpi/kbvsti.kpi/kbpsf2.kpi
 ・プラグインの更新履歴には反映しない
・kbfmp.kpi に関する以下の修正
 ・プラグイン設定画面の説明文を修正
・kbpmd.kpi に関する以下の修正
 ・PMDWin.dll を v0.52(2023/03/04)に更新
 ・プラグイン設定画面の説明文を修正
・kbmdx.kpi に関する以下の修正
 ・Portable mdx decoder を 2023/12/26 の版に更新
・kbmsxplug.kpi に関する以下の修正
 ・MSXplug(in_msx) を v1.9.1(2022/11/26)に更新
 ・emu2149 を v1.41(2022/11/26)に更新
 ・libkss を v1.2.0(2023/07/16)に更新
・kbsap.kpi に関する以下の修正
 ・libasap(asap.c/asap.h) を 6.0.3(2024/03/09) に更新
・kbvgm.kpi に関する以下の修正
・libvgm を v0.51.1(2024/01/03)に更新
 ・"Mikey"チップに対応(データが見つけられなくて動作未確認)
 ・EmulationCore の設定にも対応(動作未確認)
・kbwv.kpi に関する以下の修正
 ・libwavpack のプリプロセッサの定義に OPT_ASM_X86 と OPT_ASM_X64 を追加
  ・デコード速度が高速化


標準同梱のプラグインについては全て最新のライブラリに更新したつもりです。
これを書いてる間に Monkey's Audio SDK が新しくなってることに気づきましたが
履歴を読む限り実質的な内容は変わらないと思います。

報告された不具合と掲示板での要望(のうち対応可能なもの)は全て対応したので、
しばらく様子を見て問題なければ次を正式版にしたいと思います。

64bit版の本体が 64bit 環境 のXP で動作しないことが判明したので、64bit版の
プラグインは XP 対応をやめて最新のプラットフォームツールセットでコンパイル
しようか迷いましたが次の正式版の後にしようかと思います。

VS2022 の最新のプラットフォームツールセットでビルドしたら Vista では動くの
ですかね。

Vista は 64bit版は持ってるんですが VMware にインストールするの面倒くさい。
pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re^8: KbMedia Player Version 3.12beta5.2024.0316
278
2024/03/17(Sun) 23:14:48
Kobarin

> > GetFinalPathNameByHandleW は何でしょうね?x86版の本体ではインポートしてないようですし。
>
> そんな API 初めて見たので VCL が内部で使ってるのでしょう。
> 64bit版は XP に対応出来ませんね。32bit版が動けば十分とは思いますが。

64bit版を初めて公開したのは 2015/10/18 の v2.70alpha4 でしたが、その当時から
GetFinalPathNameByHandleW をインポートしてるようなので、開発環境を当時まで
遡っても対応は不可能ということになります。

そこまでして対応する意味もありませんけどね。
64bit版に初めて対応してから8年以上経って1度も報告がなかったのですから需要も
ないでしょうし。
pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re^7: KbMedia Player Version 3.12beta5.2024.0316
277
2024/03/17(Sun) 23:00:27
Kobarin

検証ありがとうございます。

> Kbmplay.exe がプロセスとして起動はするようになったので、OSバージョン5.0への変更は必要だったとして、
> GetFinalPathNameByHandleW は何でしょうね?x86版の本体ではインポートしてないようですし。

そんな API 初めて見たので VCL が内部で使ってるのでしょう。
64bit版は XP に対応出来ませんね。32bit版が動けば十分とは思いますが。

本体が動かない以上、プラグインが XP に対応してもほぼ意味がないので、64bit版はプラットフォーム
ツールセットを XP 対応にしなくても良いかもしれないですね。
pagetop
タイトル
記事No
投稿日
投稿者

Re^6: KbMedia Player Version 3.12beta5.2024.0316
276
2024/03/17(Sun) 22:36:35
You
XP対応の解決の一助になったようで何よりです。

Kbmplay20240317.7z をWinXP(x64)で動作確認してみたところ、起動時に下記エラーがでました。

---------------------------
Kbmplay.exe - エントリ ポイントが見つかりません
---------------------------
プロシージャ エントリ ポイント GetFinalPathNameByHandleW がダイナミック リンク ライブラリ KERNEL32 から見つかりませんでした。
---------------------------

Kbmplay.exe がプロセスとして起動はするようになったので、OSバージョン5.0への変更は必要だったとして、
GetFinalPathNameByHandleW は何でしょうね?x86版の本体ではインポートしてないようですし。


kvwma.kpi(x64)はロードに失敗しますが、kvwma.kpi(x86)での再生は出来るのでそれで良い気もしています。
そもそもWinXP(x64)への対応が必要だとも思えませんし…
# インストールが必要だったのは wmaudioredist.exe か wmtools.exe 辺りでしょうか?さすがに覚えてません。
pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re^5: KbMedia Player Version 3.12beta5.2024.0316
275
2024/03/17(Sun) 21:15:56
Kobarin

検証ありがとうございます。

> ・kbunarc.kpi, kbvsti_x86.kpi, kbvsti_x64.kpi
> VS2022(17.9.3)で kpi_sources_20221023.7z からビルドしたkpiでもXPで動作しました。(kbvstiはロード出来る事だけ確認)
> WinXP(x64)でもx86,x64の両方が動作しました。

私の環境ではどうしても AcquireSRWLockExclusive に依存するバイナリが出来てましたが、
一度 VS2022 をアンインストールしてからやり直したらうまく行きました。
が、その後も色々いじってたらまた再発してしまいました。

どうやら個別のコンポーネントに

MSVC v141 - VS2017 C++ x64/86ビルドツール(v14.16)

というのも追加しておくと大丈夫になるみたいで、これを外すとダメみたいです。

あと MFC と ATL も v141 のも入れておかないと kbviv.kpi のビルドが出来ないようですね。

> ・Windows XP Professional x64 SP2 での動作確認
> 64bit版の本体は起動不可
> →「...\x64\Kbmplay.exe は有効な Win32 アプリケーションではありません。」

あら、やっぱり動きませんでしたか。もしかして

https://kobarin.sakura.ne.jp/test/Kbmplay20240317.7z

これだったらどうでしょうか。リンカオプションの OS バージョンが 6.0 になってたのを
5.0 に変更してみました。(32bit版は 5.0 でした)

> →x64プラグインを表示し、同名のx86プラグインを無効化すればx64プラグインも動作する
> →→kbunarc.kpi(x64), kbvsti_x64.kpi は「ReleaseSRWLockExclusive ~」でロード失敗
> →→kbunarc.kpi(x86), kbvsti_x86.kpi はエラーメッセージは出ないがロード失敗
> →→kvwma.kpi(x64)は 「WMVCore.DLL が見つからなかったため、このアプリケーションを開始できませんでした。」でロード失敗
> →→→wmp11-windowsxp-x64-JA-JP.exe をインストールしてみても駄目だったので諦め

WMA は出たばかりの頃は何かを別途インストールしないと動作しませんでしたよね。
それが XP の時代だったかそれより前だったかもう覚えていませんが。

もう諦めかけてましたが、検証してくれたおかげで少なくとも 32bit 版は問題解決しそうなので
まだしばらく XP 対応続けても良いかな。
pagetop
タイトル
記事No
投稿日
投稿者

Re^4: KbMedia Player Version 3.12beta5.2024.0316
274
2024/03/17(Sun) 14:51:48
You
解決方法はわかりませんが、情報提供を。

・kbunarc.kpi, kbvsti_x86.kpi, kbvsti_x64.kpi
VS2022(17.9.3)で kpi_sources_20221023.7z からビルドしたkpiでもXPで動作しました。(kbvstiはロード出来る事だけ確認)
WinXP(x64)でもx86,x64の両方が動作しました。

kpi_sources_20221023.7z は3.11c時点のソースのようですが、
kbunarc.kpi は 3.11c → 3.12beta2 で変更が無いようなので参考にはなるかな?と。

VS2022は今回新規インストールし、インストールオプションは「ワークロード」タブの「C++ によるデスクトップ開発」だけ選択し、
「個別のコンポーネント」タブの「VS 2017 (v141) ツールの C++ Windows XPサポート [非推奨]」を追加してあります。


・kbpsf2.kpi
kpi_sources_20221023.7z の viopsf2 を boost 1.84.0 に更新してVS2022(17.9.3)でビルドしました。
ただ、viopsf2.bin のロードはテストデータが無く確認できません。(kbpsf2.kpi は元からロード出来ています)
ビルドした viopsf2.bin のインポートテーブルには AcquireSRWLockExclusive や ReleaseSRWLockExclusive が存在しないので、
多分ロードできるのでは…?と思います。


・Windows XP Professional x64 SP2 での動作確認
64bit版の本体は起動不可
→「...\x64\Kbmplay.exe は有効な Win32 アプリケーションではありません。」

32bit版の本体は起動可能
→x64プラグインを表示し、同名のx86プラグインを無効化すればx64プラグインも動作する
→→kbunarc.kpi(x64), kbvsti_x64.kpi は「ReleaseSRWLockExclusive ~」でロード失敗
→→kbunarc.kpi(x86), kbvsti_x86.kpi はエラーメッセージは出ないがロード失敗
→→kvwma.kpi(x64)は 「WMVCore.DLL が見つからなかったため、このアプリケーションを開始できませんでした。」でロード失敗
→→→wmp11-windowsxp-x64-JA-JP.exe をインストールしてみても駄目だったので諦め

(910KB)

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

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