一括表示
タイトル
記事No
投稿日
投稿者
参照先
各種 API 乗っ取りプラグイン(α版につき取扱注意)
326
2024/05/26(Sun) 12:37:22
Kobarin

kbeup.kpi v0.02alpha:
https://kobarin.sakura.ne.jp/kpi/kbeup_002alpha.7z

kbgxscc.kpi v0.14alpha:
https://kobarin.sakura.ne.jp/kpi/kbgxscc_014alpha.7z

kbhtsfms.kpi v0.08alpha:
https://kobarin.sakura.ne.jp/kpi/kbhtsfms_008alpha.7z

kbsmaf.kpi v0.14alpha:
https://kobarin.sakura.ne.jp/kpi/kbsmaf_014alpha.7z

kbzmdrive.kpi v0.16alpha:
https://kobarin.sakura.ne.jp/kpi/kbzmdrive_016alpha.7z


Windows XP で動作しない原因が判明したので修正しました。
これらのプラグインは再生に必要な対象プログラムが使用する API を乗っ取ることで
強引に対応する方式を採用している為、ウイルス対策ソフトに誤検知されやすいものと
なっています。公開直後の段階だと特に引っかかる可能性が高くなります。

ウイルス対策ソフトの設定で検疫の対象から外すなどの対策が必要になるかもしれません
のでご注意下さい。


kbsmaf.kpi は v3.14beta3 の本体から使用されると落ちる場合があるので使用している
方は更新した方が良いです。

それ以外は XP で使わないなら更新しなくても良いかもしれませんが開発環境が新しい
ので少し高速化してるかもしれません。

kbsmaf.kpi は mrgplay.exe が XP で動作しないので XP 対応版を使って下さい。
プラグインは認識されますが mrgplay.exe が起動出来ないです。

他のプラグインは XP でも動作するようですが、一応 XP 対応版を同梱しています。
必要に応じてお使い下さい。XP 対応版は 32bit 版のみとなります。


kbeup.kpi v0.02alpha での修正

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

kbgxscc.kpi v0.14alpha での修正

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

kbhtsfms.kpi v0.08alpha での修正

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

kbzmdrive.kpi v0.16alpha での修正

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

kbsmaf.kpi v0.14alpha での修正
 ・PROCESS_ALL_ACCESS フラグが大きすぎて OpenProcess に失敗していた為
 ・MidRadio Player のパスを設定時、XP 版の MidRadio.exe を指定した場合にハッシュ
  値の警告を出していたのを修正
 ・XP 32bit 環境で MidRadio Player のパスの既定値(Program Files フォルダ)を正し
  く取得出来てなかったのを修正
 ・v3.14beta3 の本体から呼ばれると落ちることがあるのを修正
pagetop
タイトル
記事No
投稿日
投稿者
参照先
kbeup.kpi v0.02α
327
2024/05/26(Sun) 12:40:29
Kobarin

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

kbeup.txt より

-------------------------------------------------------------------------------
【 名 称 】 EUPHONY Decoder
【ファイル名】 kbeup.kpi
【バージョン】 0.02alpha
【対応拡張子】 eup
【 Platform 】 x86(32bit)/x64(64bit)
【 公 開 日 】 2024/05/26
-------------------------------------------------------------------------------

【概要】

仙さん制作の EUP player for MSW Version 0.08f(eupwin.exe) を使用して FM Towns
の音楽形式である EUPHONY を再生するためのデコーダプラグインです。
対応拡張子は .eup です。

再生出来るのは内蔵音源を使用するデータのみです。MIDI を使うデータは再生出来ませ
ん。

【導入方法】

配布アーカイブファイル名が kbeup_xxx.7z なら展開後 kbeup_xxx という名前のフォル
ダが生成されている筈です。このフォルダをそのまま本体の Plugins フォルダにコピー
して下さい。コピーするフォルダは

32bit OS の場合は x86\Plugins 以下
64bit OS の場合は x64\Plugins 以下と x86\Plugins 以下のどちらでも OK

です。例えば kbeup_001 というフォルダが生成されているなら

x64\Plugins\kbeup_001

となるようにコピーします。階層を深くし過ぎるとプラグインが認識されなくなるので
注意して下さい。


このプラグインを使用するには、eupwin v0.08f が必要です。eupwin の公式サイトは
既に消滅していますが、Internet Archive で入手することが出来ます。

http://web.archive.org/web/20100429002724/http://kobe.cool.ne.jp/fmt/eupwin/eupwin.htm

KbMedia Player 用 EUP プラグイン「kbmeup.kpi」もここで入手可能ですが、動作が不
安定で KbMedia Player を巻き込んで強制終了することが多い為、kbmeup.kpi を直接使
うことはお勧めしません。(64bit 版の本体から使えば巻き込まれずに済みますが)

【設定】

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

eupwin.exe だけだと曲長を取得することが出来ませんが、kbmeup.kpi もインストール
し、kbmeup.kpi のパスを設定することで、曲長を取得することが出来るようになりま
す。kbmeup.kpi の置き場所は任意です。本体からプラグインとして認識されるような
場所に置く必要はありません。

なお、kbmeup.kpi を本体からプラグインとして認識される場所に置いた場合、本プラグ
インより kbmeup.kpi の方が使用優先度が高くなるのでご注意下さい。(本プラグインを
使用するには kbmeup.kpi を無効化する必要があります)

eupwin は EUP を再生時に(eupwin.exe のカレントディレクトリにある)リズム音源の
WAVE データを読みに行くようです。eupwin 同梱のテキストには記載されていませんが
本プラグインの開発中に気づきました。

なので、リズム音源のパスも設定出来る様にしました。

・2608_BD.WAV
・2608_HH.WAV
・2608_RIM.WAV
・2608_SD.WAV
・2608_TOM.WAV
・2608_TOP.WAV

FMP/PMD とか S98 でお馴染みですね。

ただ、耳が悪いのかデータが悪いのか、リズム音源の WAV を設定することによる再生音
質の違いが分かりませんでした。


【kbmeup.kpi との違い】

kbmeup.kpi をプラグインフォルダに入れて使うのと比べた場合の違いは以下のように
なります。

メリット

・リズム音源、FMB/PMB のパスを設定可能
・再生周波数を設定可能
 ・kbmeup.kpi は 44100 Hz 固定だが kbeup.kpi だと 48000 Hzまで指定可能
・一次補間の有無を指定可能
・プラグインが不安定でも本体を巻き込まない
・32bit 版の本体からだとファイルを開く度に曲長が変化する不具合が発生しない
・アーカイブ内の EUP ファイル(FMB/PMB を使うもの)もきちんと対応
 (本体が対処してるので kbmeup.kpi でも実害はないが)

デメリット

・シークが低速(昨今の PC では問題にならないレベル)
・ファイルオープンがかなり低速(同上)

【eupwin.exe との違い】

eupwin.exe を直接使用する場合との違いは以下のようになります。

・FMB/PMB のパスを設定時、サブフォルダも階層制限なしに検索する
・EUP ファイルや FMB/PMB ファイルの置き場所(フォルダ名)が Unicode でしか表現
 出来ない名前でも動作する

【使用上の注意】

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

プラグイン設定時に eupwin.exe のハッシュ値をチェックし、動作確認したのと異なる
ものであった場合には警告を出すようになっています。

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


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

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

【更新履歴】

Version 0.02α(2024/05/26)

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

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

Version 0.01α(2021/04/22)

・初版
pagetop
タイトル
記事No
投稿日
投稿者
参照先
kbgxscc.kpi v0.14α
328
2024/05/26(Sun) 12:43:18
Kobarin

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

kbgxscc.txt より

-------------------------------------------------------------------------------
【 名 称 】 GXSCC MIDI Decoder
【ファイル名】 kbgxscc.kpi
【バージョン】 0.14alpha
【対応拡張子】 mid
【 Platform 】 x86(32bit)/x64(64bit)
【 公 開 日 】 2024/05/26
-------------------------------------------------------------------------------
【概要】

GASHISOFTさん制作の GXSCC β236/β773 を使用して MIDI を再生するためのデコーダ
プラグイン再生プラグインです。対応拡張子は .mid です。

【導入方法】

このプラグインを使用するには、GXSCC β236 または GXSCC β773 が必要です。
GXSCC β773 は 2019年3月現在、公式サイトでは配布されていないようです。
持っていない方は残念ですが諦めて下さい。
GXSCC の公式サイトは以下となります。

https://gashisoft.web.fc2.com/

2019年3月現在、公式サイトがリニューアルされたばかりで、GXSCC β236 は英語版しか
入手できないようです。英語版は

https://gashisoft.web.fc2.com/E/

こちらで入手出来ます。英語が苦手な方でも、kbgxscc.kpi から使用する分には何の支
障もない筈です。

GXSCC β236 は、以前は β223 に差分パッチを当てる形で配布されていました。

kbgxscc.kpi では、英語版のβ236 と、β223 に差分パッチを当てた日本語版のどちら
でも動作することを確認しています。β773 はタイムスタンプが 2007/02/14 23:21 の
もので動作確認しています。

β236 とβ773 以外のバージョンでは動作しません。

kbgxscc.kpi では動作確認済みの実行ファイルのハッシュ値と一致しない場合には警告
ダイアログを出します。確認済みでない GXSCC を使用した場合の結果は自己責任でお
願いします。

ダウンロードしたら、「ツール」->「プラグイン設定」で kbgxscc.kpi を選択し、
「General」セクションの「GXSCC のパス」で GXSCC.exe のパスを設定して下さい。

【使用上の注意】

このプラグインは極めて特殊です。GXSCC は必ず動作確認に用いたのと「全く同じ」バ
ージョンをお使い下さい。動作確認した GXSCC のバージョンは β236 と β773 です。
β236 と β773 以外のバージョンでは動作しないと思って下さい。

【設定】

GXSCC をインストールしたら、プラグイン設定で GXSCC.exe のパスを設定して下さい。
各種設定については設定画面がヘルプを兼ねてますので参照して下さい。

GXSCC の設定は GXSCCPreferences.bin というファイルに保存されますが、kbgxscc.kpi
ではこのファイルの内容は無視されます。

【その他】

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


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

更新履歴

Version 0.14α(2024/05/26)

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

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

Version 0.13α(2019/04/07)

・マスターボリュームに関する以下の修正
 ・SCC モードで XG のマスターボリュームに対応(SCC モードでは GS と GM は受信
  するが XG は受信しない)
 ・OPLL モードで GM/GS/XG のマスターボリュームに対応(OPLL モードでは GS/GM/XG
  のマスターボリュームを受信しない)
 ・どちらも GXSCC から取得した PCM を加工する方式で対応
  (SCC モードの GM/GS のマスターボリュームは除く)
・マルチポートMIDIを分割再生時、リセット系とマスターボリューム系の SysEx は全
 ポートに送信するようにした
・リセットを含まない場合の処理を以下のようにした
 ・GS 系 SysEx を使う場合は冒頭で SYSTEM MODE SET を送信
  (GXSCC は SYSTEM MODE SET を受信する)
 ・XG 系 SysEx を使う場合は冒頭で GM SYSTEM ON を送信
  (GXSCC は XG SYSTEM ON を受信しない)
 ・それ以外の場合は冒頭で GM SYSTEM ON を送信
 ・必要ないかもしれないが念の為

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

Version 0.12α(2019/03/25)

・選択可能な周波数に誤りがあったのを修正(176000Hz->176400Hz)
・設定項目の順番を修正(SCC/OPLL モードを音色セットの手前に移動)

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

Version 0.11α(2019/03/23)

・β236とβ773のパスを別々に設定し、どちらを使用するかを選択する方式に変更
 ・パスを設定し直す手間が省けて切り替えが容易になった
 ・v0.10αのパスに関する設定は無視されるので設定し直す必要がある
・ファイルオープン時のシステムの負荷のかかり具合等、タイミングにより正常に再生
 出来ないことがあるのを修正
・β773 の DirectSound 処理をフックするようにした
 ・一瞬でも DirectSound デバイスを開いて再生してしまうのを回避
・β236 の waveOut 処理のフックの仕方を修正
・GXSCC の終了のさせ方が乱暴だったのを修正
 ・なるべくメインウィンドウを「閉じる」ことで終了させるようにした
 ・終了時に GXSCC 内部のクリーンアップ処理が呼ばれるようになった

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

Version 0.10α(2019/03/22)

・新kpi仕様に対応
・GXSCC β773 に対応
・OPLL モード(GXSCC の左上ロゴダブルクリックで発動する隠しモード)に対応
・オーディオデバイス出力(waveOut)ではなくオーサリング時の WAV 出力(mmio)の乗っ
 取り方式に変更
 ・バッファアンダーランを完全回避
 ・シーク速度が大幅に高速化
 ・kbwavefile.kpi による WAV ファイルデコードでも確実に正しいデータを出力出来
  るようになった
 ・Debug モードの「Decode Speed」を廃止(必要がなくなった)
・下記設定項目を追加
 ・GXSCC のパス
  ・ハッシュ値(MD5)が確認済の値と一致しない場合は警告ダイアログを出す
  ・確認済みバイナリはβ223->β236への差分パッチを当てた日本語版とβ236英語
   版及びβ773
 ・GXSCC のバージョン
  ・「GXSCC のパス」で設定した GXSCC.exe のハッシュ値が kbgxscc.kpi で確認済
   みの値と異なる場合でも使用したい場合に設定する
 ・再生周波数
 ・音色セット(SCC like Full-Set, Famicom like Set etc...)
 ・AutoDetune
 ・ローパスフィルタ
 ・カットオフ周波数
 ・SCC/OPLL モード(OPLL モード時は音色セットは無視される)
 ・複数ポート使用MIDIの処理方法
  ・複数のMIDIファイルに分割して複数の GXSCC を起動
  ・分割しないで GXSCC を単独起動(従来の処理)
  ・自動判別(SCC モードのときは3ポート以上のときだけ分割、OPLLモードのとき
   はポート数によらず分割)
 ・GXSCC を表示
  ・v0.09α以前の Debug Mode に相当
  ・表示されるウィンドウをマウスで動かせるようになった
  ・「オーサリング中」と表示されるが WAV ファイルが生成されることはない
  ・うまく動作しないときの確認用。通常はオフにする
 ・GXSCC のフォルダを開く
  ・添付ドキュメントの参照用
・GXSCC から応答がない場合はダイアログを表示して強制終了させるか確認するように
 した
・64bit版を作成

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

Version 0.09α(2012/10/18)

・本体からの再生周波数要求を無視していたのを修正

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

Version 0.08α(2012/10/06)

・バッファアンダーラン対策を修正(冒頭で発生する確率が減少?)

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

Version 0.07α(2012/09/30)

・SMF Format 0 以外で曲長計算が正しく機能しなくなっていたのを修正(変なところで
演奏終了してしまう)
・KbMedia Player 本体から呼ばれる分には問題なし(常に Format 0 が渡されるので)
・設定項目「Debug Mode」を追加
・GXSCC のウィンドウ表示・非表示切替
・バッファアンダーランの発生確認用
・DecodeSpeed の調整用
・設定項目「Decode Speed」を追加
・バッファアンダーラン対策
・値が大きい程シークが高速になるが、バッファアンダーランが起こりやすくなる
・値が小さい程バッファアンダーランが起こりにくくなるが、シークが低速になる
・十分に高速な PC なら 10 倍速までは問題ないはず

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

Version 0.06α(2012/09/29)

・「Instrument Set」「Auto Detune」「Use Low-pass Filter」「Cut-off Frequency」
を GXSCC 本体とは独立して設定出来るようにした
・設定の保存場所は kbgxscc.ini の[プラグインファイル名] セクション
(kbgxscc_famicom.kpi なら [kbgxscc_famicom.kpi] セクション)
・kbgxscc.kpi のコピー・リネームによって、設定ごとに異なる MIDI デバイスとし
て扱えるようになる
・シーク時にバッファアンダーランが発生して音が途切れる現象が改善(完璧ではない)
・曲長計算を簡易的な処理にして高速化
・Windows9x で動作していたかもしれないのを、絶対に動作しないように修正

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

Version 0.05α(2012/09/23)

・Windows7 で動作しなかったのを修正
・Windows9x での動作を打ち切った(動作確認出来る環境を構築出来れば検討)
・シークが高速化(PC の処理速度とは無関係な時間を要するので多分これが限界)

Version 0.04α(2005/03/05)

・演奏する度にアクティブなウィンドウのフォーカスが失われるのを修正
・GXSCC.EXE の終了のさせ方が少し強引だったのを修正

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

Version 0.03α(2005/03/02)

・演奏終了直前に Render が不正な値を返すのを修正

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

Version 0.02α(2005/03/01)

・GXSCC.EXE がバッファアンダーランを起こして音が途切れやすかったのを修正
・曲の最後の部分がきちんと再生されないことがあるのを修正

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

Version 0.01α(2005/02/28)

・初版
pagetop
タイトル
記事No
投稿日
投稿者
参照先
kbhtsfms.kpi v0.08α
329
2024/05/26(Sun) 12:45:28
Kobarin

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

kbhtsfms.txt より

-------------------------------------------------------------------------------
【 名 称 】 htsfms MIDI Decoder
【ファイル名】 kbhtsfms.kpi
【バージョン】 0.08alpha
【対応拡張子】 mid
【 Platform 】 x86(32bit)/x64(64bit)
【 公 開 日 】 2024/05/26
-------------------------------------------------------------------------------

【概要】

石村仁志さん制作の htsfms v0.96 を使用して MIDI を再生するためのデコーダプラグ
インです。対応拡張子は .mid です。

htsfms については

http://hp.vector.co.jp/authors/VA024632/

を参照して下さい。

【導入方法】

このプラグインを使用するには、htsfms Version 0.96 が必要です。

http://hp.vector.co.jp/authors/VA024632/

でダウンロードして下さい。

ダウンロードしたら、「ツール」->「プラグイン設定」で kbhtsfms.kpi を選択し、
「General」セクションの「mid2wav」のパスで mid2wav.exe のパスを設定して下さい。
mid2wav.exe は htsfms に同梱されています。ファイル名に player.exe, mienum.exe,
module.exe を指定してはいけません。

【使用上の注意】

このプラグインは極めて特殊です。htsfms(実際に使うのは mid2wav.exe) は必ず動作確
認に用いたのと「全く同じ」バージョンをお使い下さい。動作確認した htsfms のバー
ジョンは 0.96 で、mid2wav.exe のタイムスタンプは 2005/03/02 10:47 です。
本プラグイン公開時点での最新バージョンです。

このバージョンより古くても新しくても駄目です。これより新しいバージョンでも、運
が良ければ動作してくれるかもしれませんが、動作しなくても仕方ないです。

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

【設定】

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

v0.05 以前とは異なり、プラグインファイル名を変えても使用する音色ファイルを変更
することは出来ませんが、プラグイン設定画面で音色ファイルを選択することが出来ま
す。自分で作った音色ファイルを使いたい場合は、mid2wav と同じフォルダの tone フ
ォルダ以下に拡張子 .dat として置くことで選択出来るようになります。

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

【更新履歴】

Version 0.08α(2024/05/26)

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

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

Version 0.07α(2019/04/07)

・マスターボリューム系SysExに対応
 ・htsfms(mid2wav) から取得した PCM を加工する方式
・64bit版で 32bit モジュールの LoadLibrary のアドレス取得(mid2wav.exe に
 hook_htsfms.dll をロードさせる為に必要)の方法を変更
・マルチポートMIDIを分割再生時に関する以下の修正
 ・リセット系の SysEx は全ポートに送信するようにした

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

Version 0.06α(2019/03/17)

・新kpi仕様に対応
・下記設定項目を追加
 ・mid2wav のパス
  ・ハッシュ値(MD5)が確認済の値と一致しない場合は警告ダイアログを出す
 ・音色ファイルの選択
  ・v0.05 以前と異なり、プラグインファイル名で音色ファイルを指定することは出
   来ない
  ・自分で作成した音色ファイルを tone フォルダ以下に置けば選択出来る
 ・複数ポート使用MIDIの処理方法
  ・複数のMIDIファイルに分割して複数の mid2wav を起動(従来より演奏精度向上)
  ・分割しないで mid2wav を単独起動(従来の処理)
 ・htsfms のフォルダを開く
  ・添付ドキュメントの参照や音色ファイル作成用
 ・コンソール画面表示
  ・mid2wav の処理の進捗状況が分かる
  ・デバッグ用、通常は非表示にする
・mid2wav から応答がない場合はダイアログを表示して強制終了させるか確認するよう
 にした
・mid2wav の終了処理が乱暴だったのを修正
 ・mid2wav が最後まで出力し終わった場合は ExitProcess しない
 ・途中で終了要求が来たら ExitProcess してたのを Ctrl+C 押下に変更
・64bit版を作成
 ・mid2wav は32bit版で OK

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

Version 0.05α(2012/09/30)

・ファイルオープン時に固まることがあったのを修正
・プラグインファイル名で使用する音色ファイル名を指定出来るようにした
・_ を不使用の場合は config.ini に従う
・kbhtsfms.kpi => config.ini に従う
・kbhtsfms_c050.kpi => tone/c050.dat
・kbhtsfms_c070.kpi => tone/c070.dat
・kbhtsfms_std.kpi => tone/std.dat
・再生すると mid2wav.exe と同じフォルダに output.wav という名前の空の
ファイルが生成されるのを修正

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

Version 0.04α(2012/09/23)

・Windows7 で動作しなかったのを修正
・Windows9x での動作を打ち切った(動作確認出来る環境を構築出来れば検討)
・mid2wav.exe のパスを設定出来るようにした

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

Version 0.03α(2005/03/01)

・まともに動作してなかったのを修正(ぉ
・Win9x でも動作するようになった(はず)
・htsfmshook.dll を必要としなくなった

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

・htsfms Version 0.95 の mid2wav.exe に対応

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

Version 0.01α(2005/02/20)

・初版
pagetop
タイトル
記事No
投稿日
投稿者
参照先
kbsmaf.kpi v0.14α
330
2024/05/26(Sun) 12:47:39
Kobarin

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

kbsmaf.txt より

-------------------------------------------------------------------------------
【 名 称 】 MidRadio SMAF/MIDI Decoder
【ファイル名】 kbsmaf.kpi
【バージョン】 0.14alpha
【対応拡張子】 mid/mmf
【 Platform 】 x86(32bit)/x64(64bit)
【 公 開 日 】 2024/05/26
-------------------------------------------------------------------------------

【概要】

MidRadio Player を使用して SMAF/MIDI を再生するためのプラグインです。対応拡張子
は .mid 及び .mmf です。

【導入方法】

このプラグインを使用するには、YAMAHA MidRadio Player 7.2.1 が必要です。

http://download.music-eclub.com/

でダウンロードして下さい。2024年5月現在の最新版は 7.2.1 です。

MidRadio Player のインストール先は任意ですが、インストーラ既定のフォルダにイン
ストールしない場合は「プラグイン設定」で設定する必要があります。インストール先
フォルダを自動で検出することは出来ません。

インストールしたら、「ツール」->「プラグイン設定」で kbsmaf.kpi を選択し、「Gen
eral」セクションの「MidRadio Player」のパスで MidRadio.exe のパスを設定して下さ
い。インストーラ既定のフォルダにインストールしたのであれば、始めから正しいパス
が設定されているはずです。

なお、kbsmaf.kpi v0.09αが MidRadio Player 7.2.1 で使用出来なかったのは、インス
トール先フォルダの検出が出来ていなかったためです。それさえクリアすればほとんど
何もしなくても対応出来ていたのでした。もっと早く調べておくべきでした。

【再生出来ない SMAF(*.mmf) が存在する】

Graphics Track を含む SMAF(*.mmf) は再生出来ません。
音は鳴るのですが、プレイヤー本体の操作が出来ずにフリーズしてしまうため、ファイ
ルオープンに失敗させるようにしています。演奏プラグインとしてであれば対応出来る
かもしれません。(いずれ試してみます)

【MIDI 再生時の音質】

KbMedia Player に標準同梱の kbvsti_x86.kpi で MidRadio Player の sgp2.dll を使
用したときの音質と近いですが、同じではないようです。「サウンドエフェクト」の設
定を変えたりすると kbvsti_x86.kpi + sgp2.dll と同じになるのかもしれません。

【使用上の注意】

このプラグインは極めて特殊です。MidRadio Player のバージョンは出来るだけ動作確
認に用いたのを「全く同じ」バージョンをお使い下さい。

動作確認した MidRadio Player のバージョンは 7.2.1 です。
動作確認した MidRadio.exe の更新日時は 2007/04/26 17:37 となっています。
本プラグイン公開時点での最新バージョンです。

このバージョンより古くても新しくても駄目です。これより新しいバージョンでも、運
が良ければ動作してくれるかもしれませんが、動作しなくても仕方ないです。

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

【設定】

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

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

【更新履歴】

Version 0.14α(2024/05/26)

・WindowsXP で動作しないのを修正
 ・PROCESS_ALL_ACCESS フラグが大きすぎて OpenProcess に失敗していた為
・MidRadio Player のパスを設定時、XP 版の MidRadio.exe を指定した場合にハッシュ
 値の警告を出していたのを修正
・XP 32bit 環境で MidRadio Player のパスの既定値(Program Files フォルダ)を正し
 く取得出来てなかったのを修正
・v3.14beta3 の本体から呼ばれると落ちることがあるのを修正

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

Version 0.13α(2019/05/05)

・DLL 検索パスに作業ディレクトリを含まない環境だと動作しないのを修正
・SMAF のタグ取得に対応
・Graphics Track を含む SMAF はオープンに失敗させるようにした
 ・音は鳴るが(mrgplay.exe を強制終了するまで)制御不能な状態になるため

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

Version 0.12α(2019/04/07)

・リソースリーク(イベントハンドルの閉じ忘れ)を修正
・64bit版で「MidRadio Player のパス」の既定値が 64bit 版の Program Files にな
 るのを修正
・リセットを含まない場合の処理を以下のように修正
 ・GS 系 SysEx を使う場合は SYSTEM MODE SET を送信
  (MidRadio Player は SYSTEM MODE SET を受信する)
 ・XG 系 SysEx を使う場合は XG SYSTEM ON を送信
 ・それ以外の場合は GM SYSTEM ON を送信

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

Version 0.11α(2019/04/04)

・マルチポートMIDIを分割再生時に関する以下の修正
 ・%TEMP% フォルダに作成した一時ファイルが削除されないのを修正
 ・再生位置を戻すと落ちるのを修正
 ・リセット系とマスターボリューム系の SysEx は全ポートに送信するようにした
・リセット系の SysEx を含まない場合は GS RESET を送信するようにした
 ・該当データを再生時は %TEMP% フォルダに一時ファイルが作成される
・ファイル名に Shift-JIS で表現出来ない文字を使用していると再生出来ないのを修正

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

Version 0.10α(2019/03/30)

・新kpi仕様に対応
・下記設定項目を追加
 ・MidRadio Player のパス
  ・ハッシュ値(MD5)が確認済の値と一致しない場合は警告ダイアログを出す
 ・複数ポート使用MIDIの処理方法
  ・複数のMIDIファイルに分割して複数の MidRadio Player を起動
  ・分割しないで MidRadio Player を単独起動
 ・SMAF の再生周波数
  ・MIDI 再生時は 44100Hz 固定
 ・サウンドエフェクト関係
  ・MidRadio Player の「オプション」->「MIDI出力先の選択」->「サウンドエフェ
   クトを使う」のチェックと「詳細」ボタン押下時の設定に相当
  ・In Gain(dB)
  ・Reverb Mix(dB)
  ・Reverb Time(ms)
  ・HighFreq RT Ratio
 ・MidRadio Player を起動
  ・サウンドエフェクトの「詳細」設定用
・MidRadio Player から応答がない場合はダイアログを表示して強制終了させ
 るか確認するようにした
・64bit 版を作成

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

Version 0.09α(2005/01/31)

・ある条件で落ちる or 演奏中にノイズが入ることがあるバグを修正

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

Version 0.08α(2004/09/06)

・プラグインアンロード時に落ちることがあったのを修正

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

Version 0.07α(2004/07/05)

・曲の冒頭部分で音とびしやすかったのを多分修正

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

Version 0.06α(2004/06/28)

・出来るだけ mrgplay.exe を再利用することにより、曲切り替えが高速化
・しかし、↓の対応のため、MIDI 再生時は曲切り替えが若干低速化したかも(ぉぃ)
・MIDI 再生時、マルチポートに対応(最大4ポート)

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

Version 0.05α(2004/06/18)

・MidRadio.exe ではなく、MidRadio.ocx を使うようにした
・曲長取得に対応
・ファイルオープンが高速化

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

Version 0.04α(2004/06/15)

・Windows98/ME でも動作するようになった(はず)
(Windows95 は多分無理。MMF は再生できるかもしれないが、MIDI の再生は
MidRadio Player 自体が対応してないはず)
・kbsmaf.kpi が動作中でも、MidRadio Player を実行できるようになった(お互いに
干渉し合わないようになった)

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

Version 0.03α(2004/06/13)

・MIDI に対応し、MIDI の再生は「内蔵ソフトシンセサイザーを使う」設定で行うよう
にした
・プラグインを呼び出した本体(KbMedia Player 本体)の異常終了検出のバグを修正
・クロスフェード時に kbrunkpi.exe が起動しないようにした
(KMPMODULE::dwReentrant = 1 にした)
・midradiohook.dll のファイル名を mrghook.dll に変更

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

Version 0.02α(2004/06/11)

・MidRadio が動作中でも kbsmaf.kpi が動作するようになった
(kbsmaf.kpi が動作中に MidRadio.exe を起動した場合の問題は未解決)
・クロスフェードが使えるようになった
・バックグラウンドでの曲長計算が出来るようになった(「デフォルトの演奏時間」に
なるだけだけど)
・曲の冒頭に 5 秒近い無音が入ったり、シーク後の演奏位置が 5 秒程度ずれたりする
のをある程度修正(完璧ではない)

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

Version 0.01α(2004/06/09)

・初版
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 ++