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

【概要】

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

【導入方法】

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

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

でダウンロードして下さい。2019年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 となっています。
2019年4月時点での最新バージョンです。

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

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

【設定】

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

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

【更新履歴】

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 再生時、マルチポートに対応（最大４ポート）

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

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)

・初版

-------------------------------------------------------------------------------
Kobarin(hidkob@pb.highway.ne.jp)
http://hwm5.gyao.ne.jp/kobarin/
