Sound Library - MIDIモジュールコントロール関数

sdMidiSetSeqSpeed

MIDIポートのスピードの設定

書式

SDE_ERR sdMidiSetSeqSpeed( handle, speed, fade_time )
SDMIDI handle
const Sint16 speed
const Sint32 fade_time

引数

handle   MIDIポートのハンドル
speed   再生スピード
fade_time   目的の再生スピードに達するまで時間

戻り値

SDE_ERR_NOTHING   エラーなし
SDE_ERR_NO_INIT   Sound Library が初期化されていない
SDE_ERR_HANDLE_NULL   ハンドルがNULL
SDE_ERR_PRM_OVER_RANGE   引数が正常な値の範囲外
SDE_ERR_HOST_CMD_BUF_NO_ENOUGH   ホストコマンドのバッファが不足

解説

指定したMIDIポートに対してMIDI Sequence Dataの再生スピードを設定をします。

目的の再生スピードを示す引数 speedの値は下記の計算式で求まります。

speed = 倍率×1000H - 1000H

倍率は1/64倍から3倍未満までです。

計算結果の範囲で-0FC0H(最遅)〜1FFFH(最速)でなければなりません。

引数speedは作成されたデータのボリュームバランスを基準に相対的に設定されます。 つまりspeedの値を元に戻すとき(作成されたデータのボリューム値に戻すとき)は0を指定します。

再生スピードに達する時間を示す引数 fade_time の単位はミリ秒で、範囲は0000H(最速)〜7FFFH(最遅)までです。 この再生スピードに達するまでの時間中、VSync毎にsdSysServer()関数が実行されていなければなりません。


備考

この関数を実行しても、MIDIメッセージの送信関数sdMidiSendMes()への影響はありません。

この関数で影響が有るのはSound DriverでのMIDI Sequence Dataの再生に対して影響があります。

定期的なタイミングで行うアプリケーションで用意したサーバ関数などで、V同期で変化のない値を毎回設定し続けることは効率的なHost Command Bufferの利用方法でないばかりか、Sound Driverの負荷を増やす原因になります。 なるべく行わないでください。


参照

sdMidiSendMes()
 MIDIポートにMIDIメッセージを送信

sdMidiSetSeqSpeed
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000