-------------------------------------------------------------------------------
【  名  称  】 fmmidi MIDI Decoder
【ファイル名】 kbfmmidi.kpi
【バージョン】 0.13
【対応拡張子】 mid
【 Platform 】 x86(32bit)/x64(64bit)
【 公 開 日 】 2019/03/10
-------------------------------------------------------------------------------

【概要】

yuno さん制作の「fmmidi」の再生ルーチンを使用した MIDI 再生プラグインです。
対応拡張子は .mid です。

「fmmidi」については

http://milkpot.sakura.ne.jp/fmmidi/

を参照して下さい。

同梱の Programs.txt は音色データです。Programs.txt を削除すると正常に再生されな
くなります。編集して音色を変えることが出来ます。音色データについての詳細はオリ
ジナルの fmmidi に同梱の fmmidi.txt を参照して下さい。

【著作権】

kbfmmidi は fmmidi Version 1.8 のソースコードが組み込まれています。
fmmidi の著作権は yuno 氏が保有します。

 Copyright(c)2003-2004, yuno
 All Rights Reserved.

 以下の条件を満たすことで、ソース形式またはバイナリ形式で、修正してまたは修正せ
 ずに、再配布および使用できます。

   - ソースコードで再配布する場合は、上記の著作権表示、この使用条件の一覧、およ
     び以下の免責を一緒に含めなければならない。

   - バイナリ形式で配布する場合は、上記の著作権表示、この使用条件の一覧、および
     以下の免責を、一緒に配布するドキュメントか他のどこかに表示しなければならな
     い。

   - 事前の書面による許可なしに、このソフトウェアから派生した製品の保証および販
     売促進のために、yunoの名前や貢献者たちの名前を使ってはならない。

 このソフトウェアは、著作権保持者と貢献者たちによって「現状のまま」提供され、市
 場性、特定の目的への適合性の暗黙的な保証を含み、またこれらに限定されず、いかな
 る明示的な保証も暗黙的な保証も存在しません。このソフトウェアの利用によってどの
 ように発生した、直接的な、間接的な、偶然的な、特別な、懲罰上の、あるいは必然的
 な損害 (代用の製品やサービスの用意、機会やデータや利益の損失、ビジネスの中断な
 どが考えられるが、これに限らない) についても、それらの損害の可能性が示されてい
 たとしても、契約の記述、厳密な責任の所在、不法行為 (過失でもそうでなくても) の
 有無に係わらず、いかなる見解においても、著作権保持者と貢献者たちはその責任を負
 いません。

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

【更新履歴】

Version 0.13(2019/03/10)

・KPI_MEDIAINFO::dwUnitSample 値を 0 にしていたのを 10ms 相当になるように修正
　・Render の dwSizeSample 値が大きいとテンポがよれよれな感じになる為、本体の
　　実装により再生結果が変わっていた(dwUnitSample=0 のときに dwSizeSample を
　　いくつにするかが本体の実装により変わる)
・再生位置が本来より後ろにずれていたのを修正
　・ずれの度合いは本体の実装によって変わる
　・v3.04〜v3.05beta4 だと 44100Hz で 約12ミリ秒
・複数ポートMIDI再生時、リセット系とマスターボリューム系の SysEx を全てのポー
　トに送信するようにした
　・他にも全てのポートに送信すべき SysEx があるかも

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

Version 0.12(2017/05/15)

・GS/XG のマスターボリューム SysEx に対応(GM は以前から対応済)
・終端付近が再生されない(1〜2秒程度途切れて終了する)のを修正

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

Version 0.11(2017/04/09)

・コンパイラを VS2017 に変更

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

Version 0.10(2017/01/09)

・正式版公開に向けての細かい修正(ドキュメント/ソースコードの整理等)

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

Version 0.09(2016/10/17)

・新プラグイン仕様に対応
・ループ MIDI に対応
・再生周波数要求の受け入れ上限値を 96000Hz から 192000Hz に変更
・音の合成を 32bit int で行っていたのを 64bit float で行うようにした
　・正弦テーブルとかは int のままなので音質向上は限定的
・programs.txt が Unicode である場合に対応(UTF-8/UTF-16LE)

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

Version 0.08(2016/07/11)

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

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

Version 0.07(2015/10/25)

・プラットフォームツールセットを Visual Studio 2015 - Windows XP (v140_xp) に
　変更(Windows XP でも動作するように)

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

Version 0.06(2015/10/18)

・コンパイラを VisualStudio2015 に変更
・64bit 版を作成

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

Version 0.05(2015/9/20)

・浮動小数点エラーで落ちることがあるのを修正
・再生途中で先頭位置に戻すと冒頭にノイズが入るのを修正

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

Version 0.04(2015/9/06)

・細かい修正（大して変わってません）

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

Version 0.03(2015/8/30)

・64bit double で出力するようにした（演算精度は 32bit）

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

Version 0.02(2012/10/08)

・VC++6.0 でコンパイル(Version 0.01 は BCB5.0 でコンパイル)
・サイズが小さくなった
・検証はしてないが、多分高速化

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

Version 0.01(2005/02/23)

・初版

-------------------------------------------------------------------------------
Kobarin(hidkob@pb.highway.ne.jp)
https://kobarin.sakura.ne.jp/
