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

sdMidiSeqSetBeatReso

MIDI Sequence Dataの再生においての1拍の設定を行う

書式

SDE_ERR sdMidiSeqSetBeatReso( handle, reso )
SDMIDI handle
Sint32 reso

引数

handle   MIDIポートのハンドル
reso   下記の演算式で求めた値

戻り値

SDE_ERR_NOTHING   エラーなし
SDE_ERR_NO_INIT   Sound Library が初期化されていない
SDE_ERR_HANDLE_NULL   ハンドルがNULL

解説

MIDI Sequence Dataの1拍の設定を行います。

引数resoは下記の式で算出された値を使用します。

 条件   resoの値 
 1拍が全音符より大きい場合   SDD_MIDI_WHOLE_NOTE * nn 
 1拍が全音符より小さい場合   SDD_MIDI_WHOLE_NOTE / nn 


用例

/*
 * 1拍を16分音符とする
 */
SDMIDI gMidiHandle;

UserInit()
{
	Sint32	value;

	sdMidiOpen( &gMidiHandle);
	value = SDD_MIDI_WHOLE_NOTE / 16;
	sdMidiSeqSetReso( gMidiHandle, value);
}

備考

1拍として指定できる数値は8・4・2・1・1/2・1/4・1/8・1/16・1/32・1/64です。

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


参照

sdMidiSeqGetTotalBeatTime()
 再生中のMIDI Sequence Dataのカレント演奏拍数の取得

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