#include <nitro/snd.h>void SND_PrepareSeq( int playerNo, const void* base, u32 offset, const SNDBankData* bank );
playerNo |
プレイヤー番号です。値の範囲は、0〜15です。 |
base |
シーケンスデータのベースアドレスです。 |
offset |
シーケンスデータの開始位置オフセットです。 |
bank |
バンクデータのポインタです。 |
シーケンスの再生準備を行います。
プレイヤー番号playerNoのプレイヤーでシーケンスの再生準備を行います。
そのプレイヤーで既に再生中のシーケンスは、強制的に止められます。
シーケンスデータは、ベースアドレスbaseからの
オフセットoffsetの位置から処理されます。
バンクbankには、シーケンスが発音のために使用するバンクを指定します。
バンクbankには、あらかじめ
SND_AssignWaveArc() で、
波形アーカイブを結合しておく必要があります。
再生準備を行ったシーケンスの再生を行うためには、 SND_StartPreparedSeq() を呼びだします。
この関数は、ARM7コマンド予約関数です。 この関数を呼びだした後、 SND_FlushCommand() で コマンドを発行して始めて、処理が行われます。
また、処理の完了と同期を取る必要がある場合は、 まず、この関数呼び出しの直後に、 SND_GetCurrentCommandTag() で、コマンドタグを取得しておきます。 そしてコマンド発行後に、取得したコマンドタグを使って SND_IsFinishedCommandTag() または、 SND_WaitForCommandProc() を呼びだして、 処理の完了をチェックしたり、待ったりします。
SND_AssignWaveArc, SND_StartPreparedSeq, SND_FlushCommand, SND_GetCurrentCommandTag, SND_IsFinishedCommandTag, SND_WaitForCommandProc
2005/04/14 初版