KBSPC.KPI Version 3.20

SPC（スーパーファミコンのサウンドファイル形式）を再生するためのプラグインです。
対応する拡張子は SPC です。

同梱の KBSPC.INI の

SPNSupport=0

を、

SPNSupport=1

のように書き換えると、拡張子 SP1/SP2/SP3/SP4/SP5/SP6/SP7/SP8/SP9 も再生できる
ようになります。通常は 0 のままでも問題はないはずです。

INI ファイルの書き換えが反映されるのは、次にプラグインがロードされたときです。
KbMedia Player を再起動しただけでは、まだ KBSPC.KPI がロードされていない可能性
があるので、Media エクスプローラには反映されないことがあります。

最も確実なのは KbMedia Player を再起動する前に Kbmplay.exe と同じフォルダにある
plugin.dat を削除することです。

再起動後に一度でも SPC を開けば、SP1,SP2…も認識できるようになるので、
plugin.dat の削除は必須ではありませんが、SPC を開くまで SP1,SP2… は開けませ
ん。

実際は本体が KBSPC.KPI をロードし直しさえすれば、KbMedia Player を起動し直す必
要さえないです。ロードし直すための条件はちょっと複雑ですが…。

ちょっとややこしい？(^^ゞ

意味がわからない場合はいじらないで下さいってことで…。（ぉ

KBSPC.KPI の著作権は以下の４名が保有します。

-------------------------------------------------------------------
Copyright (C) 2000-2003 Kobarin
       Kobarinのホームページ：http://home7.highway.ne.jp/Kobarin/

Copyright (C) 2000-2003 Sumire Kinoshita
       Insult：http://jump.uranews.com/insult/

Copyright (C) 2000-2003 Kurohane
       黒羽製作所：http://www.kurohane.net/

Copyright (C) 2000-2003 zilpa
       Sunny-side Up：http://osaka.cool.ne.jp/zilpa/
-------------------------------------------------------------------

プラグインの開発に協力して下さった 木下さん、黒羽さん、zilpa さんに心から感謝
いたします。



更新経歴

特に断りが無い限り、木下さんによるものです。

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

Version 3.20 (2003/01/14)

・以下、すべて Kobarin による修正
・KMPMODULE::Deinit で後始末処理をしていなかったのを修正
・演奏結果がおかしくなることがあったのを修正
・MSVCRT.DLL がなくても動作するようにした
・内部的な修正

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

Version 3.19 (2003/01/03)

・ロード時に落ちることがあるのを今度こそ修正 by Kobarin

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

Version 3.18 (2003/01/02)

・ロード時に落ちることがあるのを修正（？） by Kobarin

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

Version 3.17 (2002/12/27)

・Script700/7SE 読み込みに関する以下の修正 by Kobarin
  ・エラーチェックを強化（１行あたり 256 バイトを超えると落ちるのを修正等）
  ・Script700/7SE の f コマンドとファイル名の区切り文字にタブ文字は使えても空
    白を使えないのを修正 by Kobarin

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

Version 3.16 (2002/12/22)

・KMPMODULE::dwRentrant = 1 になった。これにより、
  ・クロスフェード時の曲切り替えが高速化
  ・曲長計算が高速化
  by Kobarin
・内部的な修正 by Kobarin

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

Version 3.15 (2001/11/08)

・user32.dll と gdi32.dll に依存しなくなった by Kobarin
・DllMain で DisableThreadLibraryCalls() を呼ぶようにした by Kobarin
・kbspc.ini の読み込みの仕方を修正（INI ファイルの仕様は変わっていない） 
  by Kobarin

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

Version 3.14 (2001/10/14)

・エコーの遅延時間の修正
・音色が正しく反映されない問題の修正

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

Version 3.13 (2001/9/20)
・プチノイズ除去ルーチンのデバック完了、復帰（真・女神転生etc...）

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

Version 3.12 (2001/9/15)
・プチノイズ除去ルーチンを削除（バグがあったため）

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

Version 3.11 (2001/4/15)
・ENVX読み取りの修正（パネルでポン、モンスタニア）

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

Version 3.10 (2001/4/8)
・簡易プチノイズ対策（簡易と言ってもそれなりに効果は大きい）
・ピッチ算出方法の修正（MOTHER2）
・ボリューム決定部に変なコードが入っていたのを除去
・ENVX読み取りの修正（パネルでポン）
・OUTXの値が滅茶苦茶になるバグを修正
・通常ノイズ（非強制ノイズ）ジェネレータを修正（真・女神転生）

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

Version 3.07(2001/02/05)

・ID666 に曲の長さが記述されていて、かつフェードアウト時間が 0ms の場合は、指
  定された時間が経過したら直ちに演奏終了するようにした（ID666 に記述されている
  フェードアウト時間の部分が空文字列の場合は通常通り約5秒かけてフェードアウト
  します）(by Kobarin)
・気休め程度最適化（全く変わってないかも）(by Kobarin)
・KBSPC.KPI と同じフォルダにある KBSPC.INI に SPNSupport=1 を記述した場合は
  SP1,SP2,…,SP9 も再生できるようにした(by Kobarin)

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

Version 3.06(2000/12/9)

・ずっとDSPに潜んでいた致命的なバグを修正（よく動いてたもんだ…）
・強制ノイズの判別を修正（ライブ ア ライブ、モンスタニア）
・DSPの0x7C(ENDX)を修正（ドラゴンクエスト…？）
・補間修正を修正

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

Version 3.05(2000/12/6)

・補間修正の方法を変更（改悪かもしれぬ）
・音量を元に戻した（やはりデメリットが大きすぎる）

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

Version 3.04(2000/12/3)

・通常ノイズの周波数の計算方法を修正
・通常ノイズのボリュームの計算方法を修正
・低域通過フィルタを最適化（理論的には前バージョンの1/8の負担になった）
・低域通過フィルタの強さを調整
・音にメリハリを付ける魔法を少々
・DSPの0x09(OUTX)を修正（こんどこそ正しいはず…）

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

Version 3.03(2000/12/2)

・DSPのエンベロープ読み取りの動作を修正（ドラゴンクエスト、モンスタニア他）
・DSPのボリューム書き込みの動作を修正（スターオーシャン他）
・DSPの0x09(OUTX)をある程度正しく返すようにした
・前回のバージョンアップ時にピッチが異常になっていたのを修正 + 調整
・サンプルの終端チェックを修正（プチノイズが僅かに軽減）
・サンプル生成方法を少し変更（プチノイズ軽減？）
・低域通過フィルタを実装
・上記変更に伴い現存のIIRフィルタを廃止
・エコーの深さを調整

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

Version 3.02(2000/11/30)

・Snes9x1.32 以降で作成した SPC を再生できなかったバグを修正(by Kobarin)
・モジュレーションを修正(by Kobarin)
・音量を大きくした（データによっては音割れるので、次の版で元に戻すかも）
  (by Kobarin)
・ピッチを修正

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

Version 3.01b(2000/08/12)

・実は木下さんが手がけた Version 3.01 のコアが完全には（というよりほとんど）導
  入されていなかったのを修正(^^ゞ (by Kobarin)

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

Version 3.01a(2000/07/30)

・KbMedia Player のプラグインとして動作するように修正(by Kobarin)

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

Version 3.01 (2000/7/27)（非公開）

・サンプル生成方法を根本的に見直し
・強制ノイズ、全体的に修正（フィルタ、判定、その他）
・ノイズ、強制ノイズにも補間修正を行なうようにした
・モジュレーションを実装した（不完全極まりない）
・Script700 SEで、スタートアップコマンド領域の、dコマンド（デチューン）が、
  何時の間にか機能しなくなっていたのを修正

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

Version 3.00 (2000/7/20)（非公開）

・Borland C++ でコンパイル出来るように、全体的に大幅書き直し
・強制ノイズの判定を修正（海外版 ぷよぷよ通）
・Extra Noise Type 2のフィルタを変更

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

Version 1.62 〜 2.10

・記憶の彼方へ飛んでいった(^^ゞ
