新着表示
タイトル
記事No
投稿日
投稿者
参照先
Re^6: MWRD 対応協力者(開発者)募集
348
2024/06/18(Tue) 19:15:09
Kobarin

hpDataTop32 の仕様が分かればそれに越したことはありませんが、最悪分からなくても
DPW.EXE から取得することが出来ます。

出来れば DPW.EXE は介さずに DPWWRD.DPX だけを使用したいですけど。

なので、ここまで来れば原理的には MWRD に対応出来ると思います。
You さんのおかげで何とかなりそうです。本当にありがとうございます。
pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re^5: MWRD 対応協力者(開発者)募集
347
2024/06/18(Tue) 02:25:41
Kobarin

> dpxGetEventEx で DPEV_STEP16 を返す頻度で再生の進み方が変わる感じですね。

これはプラグインの設定で DPEV_STEP16 を使うのチェックを入れてたからのようです。
チェックを外せば試したデータではタイミングもバッチリですね。

ちなみに DPWWRD.DPX の設定画面はウィンドウ上で右クリックメニューからです。

演出くんメカを使うデータはフォントも設定しておかないとひらがなとかを表示
出来ないみたいです。

演出くんメカコマンドを有効に

のチェックを外せばフォントを設定しなくても表示されます。

関係ない曲データの hpDataTop32 と dwDataLen を使っても見かけ上は問題なく
表示されてるっぽい。

もっと色んなデータでテスト出来るように本体と連携出来るようにします。
かなり希望が見えて来た気がします。
pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re^4: MWRD 対応協力者(開発者)募集
346
2024/06/18(Tue) 02:19:13
Kobarin

ありがとうございます。

こんなやり方があるんですね。流石です。

m_pSongProp->dwDataLen
m_pSongProp->hpDataTop32

NULL でも落ちなかったから無関係だと思ってましたがこの2つが関係してそうですね。
dwDataLen は hpDataTop32 のサイズのようです。なのでどちらも 0 なら落ちません。

試しに hpDataTop32 の中身をファイルにダンプしてそれを kbrundpx.exe で読み込ませると
時間の進み方はおかしいですが、最後まで表示することが出来ました。
サイズだけ確保しておいて hpDataTop32 の中身をゼロクリアすると再生が進みません。

dpxGetEventEx で DPEV_STEP16 を返す頻度で再生の進み方が変わる感じですね。

hpDataTop32 は開いてる MIDI データによって変わりますが MIDI データそのものとは
違うようです。この仕様が分かれば対応出来るかもしれませんが非公開では難しいかも
しれません。プラグインが参照してるなら公開されてた時期があるのかな。

おかげでかなり前進しましたが、逆に対応が難しいことが分かった気もします。
hpDataTop32 の仕様を解析しなければならなそうなので。

デルタタイムと MIDI イベントを並べたもののような感じがしないでもないですが…。
私の解析力では無理かもしれない…。

まだタイミングは出鱈目ですが、一応最後まで表示出来るようにはなったので、本体と
kbrundpx.exe を連携出来るようにして色々なテストデータで試せるようにしてみるかな。

もう少し頑張ってみます。ここまで来たら何とか対応させたい。
pagetop
タイトル
記事No
投稿日
投稿者

Re^3: MWRD 対応協力者(開発者)募集
345
2024/06/18(Tue) 00:27:24
You
古いSDKは多分構造体のいくつかのメンバが Reserved に戻っているだけのような気がしますね。

参考になるか分かりませんが、こちらで作成したテスト用プラグインを添付しておきます。
(DPW.EXE や *.DPX, *.DLL の転載要件を満たしていませんが、テスト用なのでご容赦を…)

このプラグインは、内部で DPWWRD.DPX をロードして独自に作成した CDpx を渡して動作させる物です。
DPWWRD.DPX に渡す CDpx はSDK(2.2)の物ですが、DPWWRD.DPX は正常に動作しているように見えます。

DPW.EXE に返す idExtension を 5 にしてみたりもしましたが DPWWRD.DPX の動作は特に変わりません。

DpwWrdProxy.cpp と CDpxProxy.cpp を見てもらえば大体わかると思います。
CDpxProxy にロギングを仕込めば値を追跡したり出来そうですが、そこまでは手が回りませんでした。

(271KB)

pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re^2: MWRD 対応協力者(開発者)募集
344
2024/06/17(Mon) 19:12:47
Kobarin

ありがとうございます。

私も VC6 でのビルドは試していました。
サンプルプラグインを動かした結果から、もしかして開発環境の違いのせいで
プラグイン <=> DECOP 相互の API を正しく呼べてないのかもしれないと思ったので。
ですが、VS2022 でビルドしたときと動作は変わりありませんでした。

プラグインの仕組みはある程度理解出来ました。 むしろ他のプラグインより MWRD/SWRD
のプラグインを動かすのが最も簡単そうに思えるくらいなのですが、何をきっかけにして
再生が始まるのかが未だに理解出来ません。

サンプルプラグインを動かした結果が絶望的に意味が分からないんですよね。
なぜこの動作で MWRD/SWRD が再生出来るのかが…。

諦めようかとも思うのですが、SWRD を再生出来てしまったせいで諦めきれません。

関係ないのかもしれないけど DECOP 1.2 の頃の SDK を見てみたい。
DPWWRD.DPX と DPWSWRD.DPX の _ExtProp::idExtansion の値が 5(SDK では 6) なのが
とても気になります。

サンプルプラグインで値を 5 にしても特に何も変わりない気がするので
DECOP 側でプラグインに対して何かしてるということもなさそう。
pagetop
タイトル
記事No
投稿日
投稿者

Re: MWRD 対応協力者(開発者)募集
343
2024/06/17(Mon) 00:51:01
You
とりあえず触ってみて、テストプログラムの画面が最初の文字が出ただけで変化しないことと、
ちゃんと動くようにするのが大変そうだなと言う事は確認しました。

DPW.EXE は古いプログラムなので、WinXP&VC++6.0の開発環境を作って
テストプログラムをビルドしてみましたが、結果は同じでした。

状態確認用にプラグインを作成したりもしましたが、すぐに把握できる規模ではありませんね…
これはちょっと今は手が出せません。
pagetop
タイトル
記事No
投稿日
投稿者
参照先
MWRD 対応協力者(開発者)募集
342
2024/06/10(Mon) 20:33:32
Kobarin

DECOPLAY(以下、DECOP) のプラグインを使用しての MWRD 対応、色々試してみました
がやはりうまく行きません。

SWRD の再生が出来てあと一歩と思ったのですが、その後ほとんど進展していません。
なんかもうお手上げと言う感じです。

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

こちらにテストプログラムのソースコードを置いておきます。
ソースコードのみですので、開発者でない方はダウンロードしても無意味です。

このテストプログラムで MWRD を最後まで再生させる方法を教えて頂けませんか。

http://cgi.members.interq.or.jp/ox/izu/

こちらで DPWMWRD.DPX と DPWSWRD.DPX、および DECOP がダウンロード出来ます。

MWRD の再生には DPWWRD.DPX が必要ですがまだ動作しません。

DPWSWRD.DPX があれば SWRD の再生は出来ます。GuruGuruSMF4.DLL を使った簡易
MIDI プレイヤーで再生するとタイミングもばっちりです。
(途中でテンポが変わるデータはタイミングがずれるかもしれないです)

DECOP はテストプログラム自体の動作には必要ありませんが、本テストプログラム
に同梱の DECOP のサンプルプラグインの動作確認に必要です。

サンプルプラグインを DECOP 上で動作させるとなんか変です。うまく説明出来ません
が、テストプログラムの動作結果と辻褄が合わない感じがするのですよね。

SWRD を再生出来たのは良いけど、その為にしたこととも矛盾してるんですよね。
pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re^2: DECOPLAY の MWRD プラグイン
341
2024/06/08(Sat) 01:25:00
Kobarin

やっぱり挫折しそうです。

DPWSWRD.DPX の方では SWRD を最後まで表示出来るのですが、肝心の DPWWRD.DPX の
方は最初の1~2秒だけそれっぽい表示がされるだけ。

DECOP のサンプルプラグインを VS2022 でビルドして DECOP の動作(プラグインに
対して何をするか、DECOP が公開している変数がどうなってるか等)を確認してみた
けど、サンプルプラグイン自体が正常に動作しないし、なんか DECOP の挙動が変な
んですよね。

DPWSWRD.DPX で SWRD 再生出来たときはついに念願の MWRD 対応実現出来るかも、と
思いましたが、まだのようです。


もう少し調べてみてどうしても分からなかったらテストプログラムとそのソースを
公開するので、誰か協力して欲しいです。
pagetop
タイトル
記事No
投稿日
投稿者
参照先
KbMedia Player Version 3.14.2024.0608(正式版)
340
2024/06/08(Sat) 01:00:46
Kobarin

https://kobarin.sakura.ne.jp/kbmedia/kbmed314.exe (Vista 以降版)
https://kobarin.sakura.ne.jp/kbmedia/kbmed314.7z (Vista 以降版)
https://kobarin.sakura.ne.jp/kbmedia/kbmed314_xp_x86.exe (XP 対応版)(32bit 版のみ)
https://kobarin.sakura.ne.jp/kbmedia/kbmed314_xp_x86.7z (XP 対応版)(32bit 版のみ)

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 の両方が必要です)

Windows XP で使用したい場合は XP 対応版をダウンロードして下さい。
XP 対応版は 32bit版のみです。64bit版の本体が XP で動作しない為です。
XP で使用する場合、ランタイムは

VS2017 のランタイム
https://aka.ms/vs/15/release/VC_redist.x64.exe (x64)(XP対応版は 64bit 版を含まないので実際は不要)
https://aka.ms/vs/15/release/VC_redist.x86.exe (x86)

または

https://visualstudio.microsoft.com/ja/vs/older-downloads/

で VS2019 16.7 のランタイムを入れて下さい。16.7 より新しいものだと動作しません。


v3.14beta5 からの変更点

・kbvgm.kpi に関する以下の修正
 ・libvgm を 2024/06/04 の版に更新(vgmplayer.cpp)
・kbwsr.kpi に関する以下の修正
 ・ベースを foo_input_wsr v0.31(2024/06/02) に更新
  (再現性に関わる修正はなかった模様)
・設定の初期値を変更
 ・クロスフェードのフェード時間(4000ms => 5000ms)
 ・Media エクスプローラの「ダブルクリック時」
  (リストに追加+再生 => リストに追加しないで再生)
 ・デフォルトの曲の長さ(120秒 => 180秒)
・ヘルプを更新(表示メニューの「MIDI スペアナ」に関する項目等)

v3.13(1つ前の正式版)からの主な変更点

・各種プラグイン/DLL の開発環境を最新に更新
・各種プラグイン/DLL のライブラリを最新に更新
・NSFplug ベースの NSF 再生プラグイン kbnsfplug.kpi を同梱
・演奏プラグイン(kbGuru2SMF.kpi等)使用時のフェードアウト、クロスフェード、メドレー再生に対応
・メドレー再生の動作改善(途中で演奏時間が短い曲を挟んでも音が途切れない)
・MIDI 関係の改善(MIDI対応デコーダプラグイン使用時のギャップレス再生、液晶のスペアナ表示/Roland 音源風レベルメータ表示の切り替え等)
・その他不具合修正・改善


v3.13(2024/04/30) の頃よりもランタイムのバージョンが新しくなっています。
「ヘルプ」->「バージョン情報」でインストールされているランタイムのバージョンを
確認することが出来ます。

14.40.33810.0

であれば 2024/06/08 現在での最新版となります。
これより古い場合は更新することをお勧めします。(XP 環境は除きます)

XP 環境で動作する最新のランタイムのバージョンは

14.27.29114.0 (VS2019 のランタイムのうち、XP で動作する最新版)(16.7 のもの)

または

14.16.27033.0 (VS2017 の最新ランタイム)

となります。14.27.29114.0 であるに越したことはありませんが、ダウンロードに手間が
かかりますので、面倒であれば VS2017 のものでも OK です。

XP では 14.27.29114.0 より新しいと動作しなくなりますので注意して下さい。
14.27.29114.0 より新しいランタイムをインストールしてしまった場合は、一度ランタイムを
アンインストールしてからであればインストールし直すことが出来ます。
pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re: DECOPLAY の MWRD プラグイン
339
2024/06/05(Wed) 19:50:15
Kobarin

SWRD プラグインの方は映像が動くように出来ました。

肝心の MWRD がまだですが、真っ黒のまま何も再生されないのは解消されたので
少し前進しました。

まだ何とも言えませんが古い SDK はなくても大丈夫かもしれません。

念願の MWRD 対応が現実味を帯びて来た感じです。

自力で対応出来ないので SWRD や NWRD みたいにウィンドウの大きさを自由に
変えられないのが難点ですが…。
pagetop

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