新着表示
タイトル
記事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
タイトル
記事No
投稿日
投稿者
参照先
DECOPLAY の MWRD プラグイン
338
2024/06/04(Tue) 22:40:27
Kobarin

DECOPLAY の MWRD プラグインを使って MIMPI WRD 対応

に挑戦しています。今までも何度もプラグイン SDK を眺めては絶望して何もしない
で諦めていました。

今回は何とかなりそうな気がしたので再挑戦しています。
ウィンドウや設定画面を表示するところまでは出来たのですが、その先に進めず
また挫折しそうです。画面が真っ黒のまま再生が始まってくれない。

もしかしたら手元にある SDK(2.2/2.3) が新し過ぎるせいなのかもしれないです。
古いSDK(2.2/2.3 より古いもの) が見てみたいけどインターネットアーカイブで
探しても見つけることが出来ません。DECO さんのサイトに行っても SDK や
プログラムはニフティに置いてたみたいで辿り着くことが出来ませんでした。

v2.2/2.3 の SDK では DpwDef.h の EXT_ID_WINDOW の値が 6 ですが、この値が
5 になってる SDK が欲しいです。

MWRD プラグインが返すのは 5 になっています。

もしかしたら 6 と同じ扱いで良いのかもしれませんが、MWRD プラグインの
ドキュメントを読むと DECOPLAY 1.2 の当時の SDK で作られてるようです。

プラグインを作る場合には最新の SDK だけ見れば良いですが、プラグインを使うと
なるとそうも行かないのですよね。使いたいのは MWRD のプラグインだけですし。
他のプラグインはやるとしても MWRD の後です。ちなみに SWRD のプラグインも 5
を返します。

それか、むしろ手元にある MWRD プラグインが古すぎるとか?(v1.4)

ちなみに DECOPLAY の MWRD プラグインは

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

こちらにあります。20年以上ほぼ管理されていないっぽいにも関わらず未だサイトが
消滅せず、掲示板には20年以上前の私の恥ずかしい書き込みが今も残っています。
戸上山さんに MWRD 再生ライブラリみたいなのを作って欲しくて書いたんですけどね。

20年以上もの間 SPAM に荒らされることもなく残ってるというのは凄いことのような
気がします。もしかして管理されてるのだろうか。
pagetop
タイトル
記事No
投稿日
投稿者
参照先
Re^2: kbgme.kpi v0.01
337
2024/06/04(Tue) 21:52:45
Kobarin

素晴らしいライブラリを教えて頂いてありがとうございました。

> 2年ほど前にkode54氏とfoobar2000作者のPeter氏と間になんらかのいざこざがあり、

github に foobar 関係のが全然ないと思ってましたがそんなことがあったのですね。

VGM 関係はソースの中身をきちんと検証してなかったですが、ライブラリ自体は新しい
バージョンの VGM に対応してなくて foo_input_gme は対応させてるだけなのかもしれ
ません。

SPC も補間の設定があるあたり特別な対応をしてるのでしょう。

AY はコンパイラの最適化を有効にすると明らかに再生が出来なくなるデータがあるので
ライブラリ自体に何か問題があると思うのですが、落ちるバグと違って問題の箇所が特定
出来ないので、諦めてそのうち解決されるのを待つことにします。


wsr と psf 系の foobar プラグインのいくつかが新しくなってるみたいですね。
取り敢えず wsr だけ更新しましたが再現性に関わる修正ではなかったです。
pagetop
タイトル
記事No
投稿日
投稿者

Re: kbgme.kpi v0.01
336
2024/06/03(Mon) 20:58:39
たかおか
お忙しい中対応いただきありがとうございます。
foo_input_gmeと同等の再生状況にはならないとのことですが、
手持ちのAYファイルは良く再生できるようになりました。

foo_input_gmeはもともとfoo_gepという名前でkode54氏によって開発されていました。
2年ほど前にkode54氏とfoobar2000作者のPeter氏と間になんらかのいざこざがあり、
kode54氏はgithub、gitlabからソースコードを消去して開発をやめてしまいました。
現在はPeter氏が開発しているのですが、foobar2000本体のライセンスと同じくソースコード非公開でやっているようです。
libgmeはLGPLなのでlib部分には手を加えてないと思われます。

bitbucketにkode54氏開発プラグインのソースコピーがあるのですが、古いコピーのようです。
https://bitbucket.org/chiptune-plugin-archives__not-my-release/foo_gep/src/main/
pagetop
タイトル
記事No
投稿日
投稿者
参照先
KbMedia Player Version 3.14beta5.2024.0603
335
2024/06/02(Sun) 22:41:38
Kobarin

https://kobarin.sakura.ne.jp/test/kbmed314_beta5.exe
https://kobarin.sakura.ne.jp/test/kbmed314_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 のサポートを打ち切りました。XP 環境だと一部のプラグインが
動作しません。Windows XP で使いたい方は正式版をお使い下さい。


v3.14beta5 での変更点

・各種プラグイン/DLL の開発環境を VS2022 17.10.1 に更新
・kbmdx.kpi に関する以下の修正
 ・64bit 版が落ちるのを修正
 ・v3.14beta3 同梱の版(VS2022 17.10.0 でビルド)から発生
  (std::mutex::lock() で落ちる。kbmod.kpi が落ちるのと同じ原因?)
 ・プリプロセッサの定義に _DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR を追加で回避
・kbpsf2.kpi に関する以下の修正
 ・プリプロセッサの定義に _DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR を追加
 ・VS2022 17.10.0 以降でビルドすると 64bit 版が std::mutex::lock() で落ちるこ
  との対策
 ・本プラグインで実際に落ちるのを確認出来た訳ではないが std::mutex を使用して
  いる箇所があるようなので念の為


ちょっと納得行かないのですが kbmdx.kpi の 64bit 版が落ちるのを修正しました。
kbpsf2.kpi の方は念の為の修正です。
一週間ほど様子を見てから正式版にするつもりでしたが落ちる不具合はあまり
使われない形式でも早めに修正しておこうと思いました。

VS2022 17.10.0 以降の最新のプラットフォームツールセットでリリースビルドしたものは
64bit 版では

std::mutex::lock()

を呼ぶと落ちるみたいで改めて確認してみたら kbmod.kpi の64bit版が落ちるのもこれが
原因でした。

試してみると EXE 内で使う分には大丈夫だけど DLL 内だと NG っぽいですね。

https://github.com/microsoft/STL/wiki/Changelog

VS 2022 17.10

...

Fixed bugs:

Fixed mutex's constructor to be constexpr. #3824 #4000 #4339
Note: Programs that aren't following the documented restrictions on binary compatibility may encounter null dereferences in mutex machinery. You must follow this rule:
When you mix binaries built by different supported versions of the toolset, the Redistributable version must be at least as new as the latest toolset used by any app component.

You can define _DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR as an escape hatch.

escape hatch(緊急の際の避難手段?) として定義?

怖くて全てのプロジェクトで定義しておきたくなるんですけど。
EXE で OK で DLL で NG なのは修正し切れてないということ?
むしろ 17.10.0 から発生するようになったような?
pagetop
タイトル
記事No
投稿日
投稿者
参照先
kbgme.kpi v0.01
334
2024/06/02(Sun) 00:36:25
Kobarin

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

game-music-emu を用いたデコーダプラグインです。
掲示板で要望頂いたので対応してみました。

ライブラリはとても使いやすいものだったので比較的簡単に対応出来ましたが、再生出来
ないデータがあります。コンパイラの最適化を有効にするだけで音が鳴らなかったり正常
に再生出来なくなるデータがありました。最適化を無効にしても(デバッグ版のままでも)
駄目なものもあります。

AY の一部と、VGM の多くが正常に再生出来ません。

これらのデータは foo_input_gme では問題ありません。foo_input_gme のソースがあれば
確認してみたいのですが入手方法が分かりませんでした。

他の形式でも foo_input_gme で再生出来て本プラグインで再生出来ないのがあるかもしれません。

libgme 0.6.4 ではなく 0.6.3 でも試してみましたが結果は変わりませんでした。
GENS と MAME のコアでも試しましたが同じです。

最適化が有効だと再生出来ないものがあったりするあたり、何か初期化し忘れてる変数や
事前に呼び出しておくべき API があるのかもしれません。
ちなみに VGM は拡張子は VGM だが GZ 圧縮されているもの(VGZ) にも対応しています。
VGZ だから音が鳴らないのではない筈です。

これ以上調査しても私には解決出来そうにありません。


kbgme.txt より

-------------------------------------------------------------------------------
【 名 称 】 game-music-emu Decoder
【ファイル名】 kbgme.kpi
【バージョン】 0.01
【対応拡張子】 .ay/.gbs/.gym/.hes/.kss/.nsf/.nsfe/.sap/.spc/.vgm/.vgz
【 Platform 】 x86(32bit)/x64(64bit)
【 公 開 日 】 2024/06/02
【 動作環境 】 KbMedia Player 本体同梱の kbzlib.dll が必要
KbMedia Player 以外のソフトから使う場合に注意が必要
KbMedia Player から使う分には何もする必要はありません
-------------------------------------------------------------------------------

【概要】

game-music-emu を用いたデコーダプラグインです。対応拡張子は

.ay/.gbs/.gym/.hes/.kss/.nsf/.nsfe/.sap/.spc/.vgm/.vgz

です。本体同梱の kbnezplug.kpi よりも .ay/.gbs の再現性が高いと思われますが、
kbnezplug.kpi で再生出来て本プラグインでは再生出来ない .ay なども少しですが存
在するようです。

他の形式については良く分かりません。VGM は音が鳴らないことが多いようです。

game-music-emu については

https://github.com/libgme/game-music-emu

を参照して下さい。

【設定】

プラグイン設定で対応拡張子を設定します。
.ay/.gbs は既定で有効としていますがそれ以外は無効としています。

本プラグインが対応する拡張子は全て本体標準同梱のプラグインと競合します。
拡張子を有効にしてもプラグイン優先度の関係で競合するプラグインの方の拡張子の無
効化も必要になることがあります。

それが煩わしい場合は「HighPriority」を true にすることで他のプラグインよりも優
先的に使用されるようになります。

本プラグインで拡張子を無効化すると、本体のプラグイン設定画面で該当拡張子を検索
してもヒットしなくなります。これは他のプラグインについても同様です。

全ての拡張子を有効にしておき、%Kbmplay% セクションで無効化するというのも一つの
方法です。

【ライセンス】

本プラグインには game-music-emu(libgme) と Nuked コアが組み込まれています。
LGPL です。

本プラグインのソースコードは本体の正式版公開時、その時点で最新版のものをプラグ
イン置き場にて公開します。

それよりも新しい版のソースコードが欲しい方は催促頂ければお送りします。

【既知の不具合】

・正常に再生出来ない AY が一部存在する
・正常に再生出来ない VGM が多数存在する

コンパイラの最適化を有効にすると再生出来なくなるデータがあり、本プラグインでは
最適化を無効にしていますが、それでも再生出来ないデータがあります。

同じ libgme をベースに作られていると思われる foo_input_gme では問題なく再生する
ことが出来るようです。

-------------------------------------------------------------------------------

【更新履歴】

Version 0.01(2024/06/02)

・初版
・libgme 0.6.4(2024/05/15)
・Nuked コア(プリプロセッサの定義に VGM_YM2612_NUKED を指定)
pagetop
タイトル
記事No
投稿日
投稿者
参照先
KbMedia Player Version 3.14beta4.2024.0601
333
2024/06/01(Sat) 00:16:16
Kobarin

https://kobarin.sakura.ne.jp/test/kbmed314_beta4.exe
https://kobarin.sakura.ne.jp/test/kbmed314_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 のサポートを打ち切りました。XP 環境だと一部のプラグインが
動作しません。Windows XP で使いたい方は正式版をお使い下さい。


v3.14beta4 での変更点

・kbmod.kpi に関する以下の修正
 ・64bit版で落ちるのを修正
 ・v3.14beta3 同梱の版(VS2022 17.10.0でビルド)から発生
 ・原因不明だがプリプロセッサの定義が libopenmpt 0.7.7 と異なっていたので同じ
  くしたら解決
・MIDI 再生時の液晶の表示方法を選択出来るようにした(スペアナ/レベルメータ)
 ・「表示」メニュー =>「MIDI スペアナ」
 ・スペアナは可能なときのみ表示される
 ・midiOut 使用時は設定は無視され、常に従来通りのレベルメータ表示
 ・デコーダプラグイン使用時は通常はスペアナ表示可能
  ・KPI_MEDIAINFO::dwFormatType が FORMAT_DOP のときは動かない
 ・演奏プラグイン使用時は環境設定の「waveIn による波形取得を行う」が有効時で波
  形を取得出来たときにスペアナ表示可能
  ・波形を取得出来ないときは動かない
  ・wawveIn による波形取得が無効時は設定は無視される(midiOut 時と同じ)
・MIDI を再生中に MIDI デバイスを切り替え時、複数回演奏開始していたのを修正
 ・「切り替え時の位置から再生」または「最初から再生」にしていた場合
・midiOut で MIDI を再生時の音量制御に関する以下の修正
 ・エクスプレッションではなくチャンネルボリュームで制御するようにした
 ・音量変更時やフェードイン/フェードアウト時のチャンネルボリュームの値を調整
・midiOut で MIDI 再生時の液晶のレベルメータの高さの計算方法を修正(音量を下げた
 ときの高さが低過ぎていた)
・Ctrl を押しながらシークバーを操作した場合は設定に応じた時間をかけてフェードイ
 ンするようにした
 ・Ctrl を押してない場合は1秒(先頭へのシークはフェードインしない)
・デバイス設定の「切り替え時の位置から再生」または「最初から再生」が有効時、停
 止状態で設定が変わった場合は再生が始まらないように仕様変更
・MIDI イベントを含むがノートオンを含まないポートがある場合は () で括って表示す
 る仕様を変更(SysEx 以外の MIDI イベントでも()で括って表示するようにした)
・その他不具合修正(3.14beta3 に伴う不具合が色々あり過ぎて忘れた)

一週間ほど様子を見て問題ないなら次を正式版にしたいと思います。

今回は MIDI 関係の修正がメインです。
やはり v3.14beta3 の修正で色々と細かい不具合が発生していました。MIDI デコーダ
プラグインのギャップレス再生は地味だけど大変だったんですよね。

Ctrl を押しながらのシークは midiOut でのフェードインのテスト用に付けましたが
そのまま採用することにしました。隠し機能みたいなものということで。

kbGuru2SMF.kpi で MIDI を再生中に液晶が動かないときは「表示」メニューの「MIDIスペアナ」
をオフにするか「環境設定」-「演奏設定」の「waveIn による波形取得を行う」をオフにして
下さい。waveIn による波形取得をオフにしてる場合は MIDI スペアナの設定は無視されます。

私の環境では「waveIn による波形取得を行う」で波形を取得出来る状況を作るのが困難な為、
この機能を廃止することを検討しています。

WAVE_MAPPER で鳴らしてる音の波形を確実に取得する方法があるなら教えて欲しいです。
昔の PC 環境では waveIn 系か DirectSoundCapture で普通に取れたのですが今の環境だと
色々と手間がかかります。


本体の修正ばかりで手を付けられずにいましたが、今度こそ game-music-emu のプラグインに
かかりたいと思います。多分。
pagetop
タイトル
記事No
投稿日
投稿者
参照先
ファイル差し替え
332
2024/05/26(Sun) 15:12:26
Kobarin

kbsmaf.kpi v0.14α はファイルの閉じ忘れによるメモリリークがあったので差し替えました。

差し替え前のをダウンロードした人は少ないと思いますが、この投稿の時刻より前に
ダウンロードした方はお手数ですがダウンロードし直して下さい。

公開から約2時間後に一度削除しています。ごく短い時間の公開だったので差し替え後の
バージョンは変更していません。
pagetop
タイトル
記事No
投稿日
投稿者
参照先
kbzmdrive.kpi v0.16α
331
2024/05/26(Sun) 12:49:56
Kobarin

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

kbzmdrive.txt より

-------------------------------------------------------------------------------
【 名 称 】 Z-MUSIC Decoder
【ファイル名】 kbzmdrive.kpi
【バージョン】 0.16alpha
【対応拡張子】 zms/zmd
【 Platform 】 x86(32bit)/x64(64bit)
【 公 開 日 】 2024/05/26
-------------------------------------------------------------------------------

【概要】

FIXER さん制作の ZMDRIVE を使用して Z-MUSIC を再生するためのプラグインです。対
応拡張子は zms/zmd です。

内蔵音源のみに対応します。MIDI と内蔵音源の両方を含む場合、MIDI 部分は再生され
ません。MIDI のみの場合、無音が再生されます。


【導入方法】

プラグインの置き場所については同梱の install.txt の通りです。

本プラグインを使用するには、FIXER さん制作の ZMDRIVE が必要です。
ZMDRIVE 0.4C は本プラグインに同梱されています。

ZMDRIVE には 0.4C よりも新しいバージョンが存在します。本プラグインは新版の
ZMDRIVE にも対応しています。動作確認したのは 2018/03/16 版です。

まーくん2さんのツイッター:https://twitter.com/markun2

固定されたツイートのリンクを開くと怪しげな(笑)ファイル・フォルダ群が出てきます
がその中に ZMDRIVE 2018/03/16 版があります。(「公開」フォルダの下にあります)


本プラグインには m_puusan 氏制作の X68Sound.dll の RuRuRu 氏による改造版
(2020/06/14版) が組み込まれています。

通常、ZMDRIVE の動作には X68Sound.dllが必要となりますが、本プラグインに内蔵し
ているので X68Sound.dll がなくても動作します。

内蔵ルーチンを使わず、使用する X68Sound.dll を設定することも出来ます。
X68Sound.dll はまーくん2さんのところでも配布されていますし、他にもありますの
で探してみて下さい。


【設定】

プラグイン設定画面がヘルプを兼ねていますので参照して下さい。

ZMDRIVE には、新旧ともに X68Sound を使わない再生モードがありますが、本プラグイ
ンが対応するのは X68Sound を使う再生モードのみです。


【データを再生出来ない場合】

ZMS/ZMD は厄介な形式で、単独で再生しても正しく再生出来ないものがあります。再生
出来ない(音が鳴らないか、鳴ってもおかしい)場合は以下を疑って下さい。

1.マーキュリーユニット対応
2.中身が MIDI である
3.内蔵音源と MIDI の両方を含む
4.内蔵音源だが事前に別のファイルを再生する必要がある

1.はよく分かりません。本プラグインが対応する再生モードでは ZMDRIVE も対応しな
いようです。

2.の場合は本プラグインでは対応出来ません。本体で MIDI として再生して下さい。
ZtoM 等の導入が必要です。

3.の場合は内蔵音源部分のみ本プラグインで再生するか、MIDI 部分のみ ZtoM 等で
MIDI に変換して本体での再生となります。

ZMDRIVE は MIDI にも対応していますが本プラグインでは未対応です。現状は MIDI 部
分は無音が再生されます。

内蔵音源と MIDI に関しては後述の zmsetup.ini に情報を記述することで、本プラグイ
ンで再生するか本体で MIDI に変換して再生するか判断することが出来ます。

4.は例えば a.zmd を正しく再生するために b.zmd を事前に再生しなければならなか
ったり、c.zpd も再生しなければならないが、a.zmd にその情報が含まれていないよう
なケースです。

このようなデータを ZMDRIVE で正しく再生するには、事前に再生すべきデータを再生し
てから再生することで実現出来ますが、本プラグインでは再生する度に ZMDRIVE を再起
動してしまうため、出来ません。

仮に出来るようにしてもプレイリスト上で連続再生するときに何かと支障が出ます。例
えばランダム再生が出来ませんし、そもそも .zpd ファイルはリストに追加すべき曲デ
ータとは言えません。

そこで、そのようなデータのフォルダに zmsetup.ini というファイルを置いて再生に必
要な初期化ファイルを記述することで対応することにしました。


【zmsetup.ini】

音源の設定をするためのファイルと演奏ファイルが分かれているものがあります。
例えば foo.zmd を再生するために bar.zmd が必要になることがあります。
ZMDRIVE では先に bar.zmd を再生してから foo.zmd を再生させなければならないよう
なデータです。

このようなデータを正しく再生するためには、演奏ファイルと同じフォルダに
zmsetup.ini というファイルを作成し、

[foo.zmd]
SetupFile=bar.zmd

のように記述します。同じフォルダにある全ての演奏ファイルが bar.zmd を必要とす
る場合は、[Default] セクションに記述することも出来ます。

例:
[Default]
SetupFile=bar.zmd


例えば、

https://web.archive.org/web/20071121130328/http://www27.tok2.com/home/studioMM/MusicRoom/msc_index.html

にある「LAST FORCE」の ZMD を正しく再生するためには、

[Default]
SetupFile=LastForce [00] SET UP.ZMD

という内容の zmsetup.ini を LastForce [00] SET UP.ZMD と同じフォルダに作成しま
す。

同様に、「Royal Squash」を正しく再生するためには

[Default]
SetupFile=RoyalSquash(YM2151) [00] SetUp_ZPD_BlockData.ZMD

という内容の zmsetup.ini を RoyalSquash(YM2151) [00] SetUp_ZPD_BlockData.ZMD
と同じフォルダに作成します。

SetupFile に指定できるファイルの拡張子は ZMD/ZMS のいずれかのみです。


同様に、再生するために ZPD ファイルが必要なのに自動的に ZPD が読み込まれないよ
うな曲データを再生するには、「SetupFile」キーではなく、「ZPDFile」キーに必要な
ZPD ファイル名を記述します。

例:
[Default]
ZPDFile=aaa.zpd

ZPDFile に指定できるファイルの拡張子は ZPD のみです。


SetupFile と ZPDFile の両方を指定しないと正しく再生出来ない曲があります。

例えば、

https://web.archive.org/web/20070811231625/http://www.xacs.jp/zmusic.html

にある「Cylips」の曲データを正しく再生するには、

[Default]
SetupFile=CY_VOICE.ZMD
ZPDFile=VA.ZPD

のように記述します。


また、「FMADPCM」キーと「MIDI」キーに記述することで対象データが内蔵音源や MIDI
を含むか本プラグインに判別させることが出来ます。

例えば対象データと同じフォルダのデータは全て内蔵音源と MIDI の両方を使用する場
合は

[Default]
FMADPCM=1
MIDI=1

のように記述します。

FMADPCM キーと MIDI キーがない場合は自動判別するようにする予定ですが現状では未
対応です。それぞれ FMADPCM=1, MIDI=0 と見なします。


圧縮ファイル内に zmsetup.ini が存在する場合にも正常に再生されます。


【既知の不具合】

・ZMDRIVE を(本プラグインを介さずに)起動中、本プラグインで開いてる曲を再生出来
 ない(演奏を停止していても)
 ・ZMDRIVE のファイルオープン時の共有モードと KbMedia Player 本体の相性問題で
  対応は困難(プラグイン側では対応不可)

【使用上の注意】

本プラグインは動作原理が極めて特殊です。ZMDRIVE は動作確認に用いたものと「全く
同じ」バージョンをお使い下さい。

動作確認した ZMDRIVE のバージョンと更新日時は

ZMDRIVE(旧版): バージョン0.4C 更新日時 2002/06/15 00:35 (本プラグインに同梱)
ZMDRIVE(新版): バージョン不明 更新日時 2018/03/16 15:03

となります。

確認しているより新しいものでも動作するかどうかは分かりません。使用する ZMDRIVE
のパスを設定時にハッシュ値をチェックし、動作確認したのと異なるものであった場合
には警告を出すようになっています。

警告を無視して動作確認したのと異なるバージョンを使うことも出来ますが、予期せぬ
結果になることがありますのでくれぐれもご注意下さい。

このプラグインは永久にα版です。自己責任で使用して下さい。

-------------------------------------------------------------------------------

【更新履歴】

Version 0.16α(2024/05/26)

・WindowsXP で動作しないのを修正
 ・PROCESS_ALL_ACCESS フラグが大きすぎて OpenProcess に失敗していた為

/*---------------------------------------------------------------------------*/

Version 0.15alpha(2021/05/03)

・「ウィンドウ表示」有効時、ZMDRIVE に対するキーボード操作、右クリック、ドラッ
 グアンドドロップを受け付けないようにした(フリーズ回避)
・ループしない曲の演奏終了検出に対応
 ・0.12alpha まで(処理方法は異なるが)実装していたが 0.13alpha で廃止していた
 ・処理済みの位置と ZMDRIVE が表示する再生位置との差が一定値を超えたら終了と見
  なす
 ・本体の無音検出より早く検出されるので無音の再生時間が短くて済む(ZMDRIVE が正
  しい曲長を返さない場合は特に)
・zmsetup.ini に関する設定項目追加
 ・詳細は設定画面のヘルプ参照
・zmsetup.ini に MIDI キーと FMADPCM キーにより MIDI 使用か内蔵音源使用か記述可
 能にした
 ・記述がない場合は自動判別とする予定(現状未対応。FMADPCM=1, MIDI=0 と見なす)
 ・プラグインの設定により MIDI 使用データを本体に任せるかプラグインが再生する
  か選択可能にした(プラグインで再生しても MIDI の音は鳴らない)
・ZMDRIVE 起動時にカレントフォルダをプラグインが作成する一時フォルダに設定する
 ようにした(エラーがあるとカレントに ZM_ERROR.ERR が作成されるため)
・タイミング次第で曲長を正しく取得出来ないことがあるのを修正(?)(まだ自信がない)

/*---------------------------------------------------------------------------*/

Version 0.14alpha(2021/05/01)

・新ZMDRIVE 使用時に関する以下の改善
 ・シークが大幅に高速化
 ・「ウィンドウ表示」有効時のタイトルのスクロール速度が新ZMDRIVE をプラグイン
  を介さずに起動したときとほぼ同じになった
 ・「ウィンドウ表示」有効時、ZMDRIVE を終了したときのウィンドウの位置によって
  は ZMDRIVE が行方不明になるのを修正
 ・「ウィンドウ表示」有効時、タイトル等が正常に描画されないことがあるのを修正
 ・本プラグインが新ZMDRIVE を使用中だと新ZMDRIVE を起動出来ないのを修正
 ・曲長が 0 のデータを開くと ZMDRIVE がフリーズするのを修正
 ・再生中に ZMDRIVE のウィンドウを閉じてもフリーズしなくなった
  ・フリーズする原因は他にもあるので完全ではない
・設定画面で ZMDRIVE 2018/03/16 版のハッシュ値が間違ってた(2018/03/16版を指定し
 ても警告ダイアログを出していた)のを修正

/*---------------------------------------------------------------------------*/

Version 0.13alpha(2021/04/27)

・64bit 版作成
・内蔵 X68Sound.dll を Rururu 氏の 2020/06/14 版に更新
 ・44100Hz/48000Hz の再生音が 2013/08/03 版や他所で入手可能な X68Sound.dll と
  明らかに異なるので、気に入らない場合は他所で入手可能な X68Sound.dll を使っ
  て下さい
・ZMDRIVE の新版に対応(動作確認したのは 2018/03/16 版)
・X68Sound.dll を内蔵ルーチンか外部 DLL を使用するか選択出来るようにした
・ZMDRIVE を旧版(同梱v0.4C) か新版か選択出来るようにした
・設定項目追加
 ・X68Sound.dll のパス
  ・未指定の場合は内蔵ルーチンを使う
  ・64bit 版プラグインでも X68Sound.dll は 32bit 版でなければならない
 ・X68Soundl.dll を使う
 ・新ZMDRIVE のパス
 ・新ZMDRIVE を使う
 ・再生周波数(22050/44100/48000/62500/96000Hz)(62500と96000は新ZMDRIVEのみ)
 ・音量
 ・ウィンドウ表示(動作確認用)
・ZMDRIVE.exe から応答がないときにダイアログを表示して強制終了出来るようにした
・メモリリーク修正

/*---------------------------------------------------------------------------*/

Version 0.12alpha3(2016/10/03)

・v2.80beta29 のプラグイン仕様に対応(インターフェースのみ)
・インターフェースのみの対応なのでバージョン番号変更せず

/*---------------------------------------------------------------------------*/

Version 0.12alpha2(2016/08/22)

・v2.80beta23 のプラグイン仕様に対応(インターフェースのみ)
・インターフェースのみの対応なのでバージョン番号変更せず

/*---------------------------------------------------------------------------*/

Version 0.12alpha(2016/08/16)

・v2.80beta21 のプラグイン仕様に対応(インターフェースのみ)
・コンパイラを VS2015 update 3 に変更

/*---------------------------------------------------------------------------*/

Version 0.11alpha(2016/01/25)

・新プラグイン仕様に対応
・ZMDRIVE の新バージョン(2013/05/16 版が最新?)には未対応
・アーカイブ内の zmsetup.ini や zpd ファイル等にきちんと対応
・X68Sound.dll を 2013/08/03 版相当に差し替え
 ・ZMDRIVE.exe が X68Sound.dll を LoadLibrary するのをフックして kbzmdrive.kpi
  が X68Sound.dll のフリをする。そのルーチンの差し替え
 ・X68Sound.dll の内部実装にも依存するため、X68Sound.dll をプラグインから切り
  離す(kbzmdrive.kpi の修正なしに X68Sound.dll を差し替える)ことは出来ない
・本体が 2.70alpha 以降だと再生位置を戻すと演奏が止まる現象等を回避
 ・ZMDRIVE.exe がファイルを開くときの共有モードと新プラグイン仕様(に伴う本体
  の仕様変更)との相性問題
 ・再生するファイルとその関連ファイルのコピーをテンポラリフォルダに作成して
  コピーを開くことで対処
 ・v0.10alpha(公開し忘れ?) の対処法は Windows10 では機能しない

/*---------------------------------------------------------------------------*/

Version 0.10alpha(2005/11/??)(公開し忘れ?)

・CreateFileA の共有モードを強制的に FILE_SHARE_READ|FILE_SHARE_WRITE にする
 ようにした
 ・再生中のファイルを同時に開けない(&2.70alpha 以降ではシークすると演奏が止ま
  る)のを回避するため
 ・MFC42.dll のバージョンによっては kernel32.dll の CreateFileA のフックが出
  来ないため機能しない(少なくとも Windows10 では NG)

/*---------------------------------------------------------------------------*/

Version 0.09α(2005/03/15)

・曲を切り替えるとき(ファイルを閉じるとき)に落ちることがあるバグを修正
・zmsetup.ini に関する以下の修正
・SetupFile キーではなく、ZPDFile キーで ZPD を指定するように仕様変更
・細かい修正

/*---------------------------------------------------------------------------*/

Version 0.08α(2005/03/13)

・zmsetup.ini に関する以下のバグを修正
・SetupFile を指定するとフリーズすることがあるのを修正
・ZPD を指定しても反映されないのを修正
・ファイル名によっては反映されないことがあるバグを修正

/*---------------------------------------------------------------------------*/

Version 0.07α(2005/03/13)

・ZMDRIVE.exe の終了処理を修正
・ZMDRIVE.exe のプロセス優先を「高」ではなく「通常」にした
・CreateRemoteThread が使える環境(NT 系)では CreateRemoteThread を使うように
した
・音源設定用に事前にファイルを開いておかないと正常に再生出来ないデータに対応

/*---------------------------------------------------------------------------*/

Version 0.06α(2005/03/11)

・データによっては演奏開始後直ちに演奏終了してしまうバグを修正

/*---------------------------------------------------------------------------*/

Version 0.05α(2005/03/10)

・曲長計算が高速化
・演奏終了の検出結果がタイミングに依存しなくなった
・ZMDRIVE.exe の midiOut 系 API 呼び出しを防止するようにした

/*---------------------------------------------------------------------------*/

Version 0.04α(2005/03/08)

・プロセス・スレッド間の同期処理を改良して動作が少し高速化
・ループしない曲の演奏終了を検出するようにした
・FIXER 氏(の代理人?)の許可を頂いたので、ZMDRIVE 0.4C を同梱することにした
・kmp_Config を廃止(ZMDRIVE の同梱により、パスを設定する必要がなくなったため)

/*---------------------------------------------------------------------------*/

Version 0.03α(2005/03/07)

・音とびやテンポよれを大幅に改善
・等速以外の速度でもきちんと再生されるようになった

/*---------------------------------------------------------------------------*/

Version 0.02α(2005/03/05)

・再生周波数要求に応じるようにした(48000Hz, 44100Hz, 22050Hz のみ)
・X68Sound.dll の細かいバグ(稀に演奏が始まらないことがある)を修正して
kbzmdrive.kpi に内蔵。これにより、
・X68Sound.dll が導入されていなくても動作するようにした
・稀に演奏が始まらずにいきなり演奏終了してしまうことがあるのを修正

/*---------------------------------------------------------------------------*/

Version 0.01α(2005/03/05)

・初版
pagetop

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