> ※13:48追記
> 再生開始までの時間は、v4.0.7のソース GuruGuruSMF\Core\Ggs4Controller.cpp の
> GgsController::Play() で1秒のウェイトが入っていたので気にしないでください。
デバイスを開き損なう件の回避の為なのかも、と思って手元の最新版ではウェイトを
入れないようにしていますが特に問題は確認出来ていません。
あとループ(無限ループ)が正しく機能していませんがこれは本体側の問題です。
本体が SetRepeat を呼んでくれないのもありますが、無視して無限ループしようとしても
うまくいきません。これはプラグイン側ではどう頑張っても対処出来ない問題でした。
本体の設定に応じたループ回数、フェード時間の SMF を本体が生成して、それが渡されてるので。
ループMIDI に非対応である筈のプラグインが、単曲リピートが無効なときには本体のループ回数と
フェード時間に対応してるかのように見えた動作をするのはその為です。
MIDI 対応演奏プラグインが今の本体の動作のままループに対応しようとしても、フェードアウトして
からループポイントに戻ってしまうので2ループ目は音が鳴らなくなります。そもそもフェードアウト
したら無限ループの意味がありません。
結構厄介でしたが手元の最新版では解決しています。少し強引で無駄がある方法で、きちんとやるには
少しだけプラグイン仕様の変更が必要となります。
記事編集