##### 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