SDE_ERR sdMidiSetVol( handle, vol, fade_time )
SDMIDI handle
const Sint8 vol
const Sint32 fade_time
handle MIDIポートのハンドル vol ボリューム値 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ポートに対して再生ボリューム設定をします。再生ボリュームの値の範囲は -007FH(最小)〜0000H(標準)〜007FH(最大)です。
引数volは作成されたデータのボリュームバランスを基準に相対的に設定されます。 つまりvolの値を元に戻すとき(作成されたデータのボリューム値に戻すとき)は0を指定します。
再生ボリューム値に達するまで時間を示す引数 fade_time の単位はミリ秒で、範囲は0000H(最速)〜7FFFH(最遅)です。 この再生スピードに達するまでの時間中、VSync毎にsdSysServer()関数が実行されていなければなりません。
引数volに指定する値が小さすぎるとサウンドが聞こえなくなる場合があります。 また値を大きくしても、元データのボリューム値が十分に大きいなどの原因で一定以上大きくならない場合があります。定期的なタイミングで行うアプリケーションで用意したサーバ関数などで、V同期で変化のない値を毎回設定し続けることは効率的なHost Command Bufferの利用方法でないばかりか、Sound Driverの負荷を増やす原因になります。 なるべく行わないでください。