一括表示kbfmp7.kpi v0.03
記事No 323
投稿日 2024/05/18(Sat) 12:05:22
投稿者 Kobarin
参照先 https://kobarin.sakura.ne.jp/
https://kobarin.sakura.ne.jp/kpi/kbfmp7_003.7z

FMP7 の起動時に一瞬だけ音が鳴る場合は FMP7 の設定画面を開いて「ドライバ」タブを
選択、「起動ジングル演奏」のチェックを外して下さい。

FMP7 を再生中に他の曲データの情報を取得すると演奏が止まるのは仕様です。
FMP7 の API 呼び出しをフックすることで対処出来そうですが v0.03 ではやめて
おきました。

せめて音量制御が出来ればクロスフェードにも対応出来てやる気が出るのですが…。
音量制御も強引にやることも出来なくはないと思いますが。

そんな強引な方法を使わなくとも、作者様に複数曲対応と音量制御の要望をしたいところ
ですが連絡する方法が分かりません。

v0.03 での変更点

・別のインスタンスが再生中に Stop が呼ばれた場合は何もしないようにした
 ・v3.14beta2 以降の本体によりクロスフェードされようとしているとき、後に開いた
  方の再生が止まってしまうのを回避


kbfmp7.txt より

-------------------------------------------------------------------------------
【 名 称 】 FMP7 Player
【ファイル名】 kbfmp7.kpi
【バージョン】 0.03
【対応拡張子】 owi
【 Platform 】 x86(32bit)/x64(64bit)
【 公 開 日 】 2024/05/18
-------------------------------------------------------------------------------

【概要】

Guu さん制作の FM/SSG/PCM音源 音楽ドライバ FMP7 を用いて FMP7 形式の曲データを
再生するための演奏プラグインです。対応拡張子は owi です。

FMP7 の曲データは

http://archive.fmp.jp/

にあります。

【FMP7.exe】

本プラグインを使用するためには FMP7.exe が必要です。
動作確認したバージョンは v7.10g です。

http://archive.fmp.jp/archives/category/program

で FMP ver7.10g をダウンロードし、kbfmp7.kpi のプラグイン設定で FMP7.exe のパス
を設定して下さい。

【既知の不具合】

・再生中に他の FMP7 データの情報を取得すると再生が停止する

再生中に Media エクスプローラで FMP7 データのタイトルを表示したり演奏リスト上で
曲長計算したときなどに停止します。

FMP7.exe の仕様上、再生中とは異なる曲データの情報を取得しようとすると曲データの
再生が停止します。停止させない為には、再生中は他の曲データの情報を取得しないよ
うにするしかありませんが、検討の結果、再生を停止させることにしました。

情報を取得中は一時停止を通知し、取得が終わったら再開するようになっています。

・曲の長さとシーク後の再生位置が不正確

FMP32_GLOBALWORK::Count の値とミリ秒単位の位置の関係性が不明です。この値を 10倍
した値をミリ秒単位の曲長としていますが、実際は違うようです。
同じ理由でシーク後の再生位置も不正確です。

シークについては FMP7.exe の振る舞いも少し変です。(シークバーの位置より手前に
シークされることがある)

【アーカイブ内の曲データの制限】

曲データによっては pwi ファイルが必要になる場合があります。必要な pwi ファイル
名の取得方法が不明な為、再生する owi ファイルと同じフォルダの pwi ファイルを検
索し、最初に見つかった 10 個まで実ファイルを作成します。

アーカイブ内の同一フォルダに多数の曲データと pwi ファイルが置いてあると、必要な
pwi ファイルを認識出来なくなり、ファイルオープンに失敗して再生することが出来な
くなります。不要な pwi ファイルを何個も展開して実ファイルを作成することにもなる
為、ファイルを開くのにも余分な時間がかかります。

同一アーカイブ内に複数の owi/pwi が含まれていても、フォルダが異なっていれば問題
ありません。

foo.zip>bar/aaa.owi
foo.zip>bar/bbb.pwi
foo.zip>baz/ccc.owi
foo.zip>baz/ddd.pwi

この場合、bar/aaa.owi と baz/ccc.owi は異なるフォルダとなりますので、
bar/aaa.owi を再生時に baz/ddd.pwi が実ファイルに展開されることはありません。

【更新履歴】

Version 0.03(2024/05/18)

・別のインスタンスが再生中に Stop が呼ばれた場合は何もしないようにした
 ・v3.14beta2 以降の本体によりクロスフェードされようとしているとき、後に開いた
  方の再生が止まってしまうのを回避

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

Version 0.02(2024/04/30)

・64bit版のプラグインが動作するようになった
 ・FMP7API::Send が動作しなかったのが解決
・FMP7 の終了に関する設定を追加
 ・プラグインアンロード時に終了、曲を閉じる都度終了、終了しない

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

Version 0.01(2024/04/27)

・初版
記事編集 記事編集
関連一覧ツリー 一括表示 をクリックするとツリーを一括表示します)
一括表示 kbfmp7.kpi v0.03 - Kobarin 2024/05/18(Sat) 12:05 No.323
返信フォーム ( 記事に返信する場合はこのフォームから投稿して下さい )
おなまえ
Eメール
タイトル
メッセージ
参照先
添付
暗証キー (英数字で8文字以内)
投稿キー (下画像の数字を入力)

投稿キー

  


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