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のカレント演奏拍数の取得