NNS_SndArcLoadSeq*

構文

#include <nnsys/snd.h>

#define NNS_SND_ARC_LOAD_SEQ  ( 1 << 0 )
#define NNS_SND_ARC_LOAD_BANK ( 1 << 1 )
#define NNS_SND_ARC_LOAD_WAVE ( 1 << 2 )
BOOL NNS_SndArcLoadSeq( int seqNo, NNSSndHeapHandle heap );
BOOL NNS_SndArcLoadSeqEx( int seqNo, u32 loadFlag, NNSSndHeapHandle heap );

引数

seqNo シーケンス番号です。
heap サウンドヒープハンドルです。
loadFlag どのデータをロードするかを指定するフラグです。

返り値

ロードに成功したかどうかを返します。

説明

シーケンスデータをヒープへロードします。

NNS_SndArcLoadSeq関数は、シーケンスデータの再生に必要なバンクデータ及び、 波形アーカイブも同時にロードします。 NNS_SndArcLoadSeqEx関数は、これら3つのデータの内、どれをロードするかをloadFlagで指定します。 loadFlagには、下記のマクロの論理和を入れます。

表 . ロードフラグ

マクロ 説明
NNS_SND_ARC_LOAD_SEQ 1 << 0 シーケンスデータ
NNS_SND_ARC_LOAD_BANK 1 << 1 バンクデータ
NNS_SND_ARC_LOAD_WAVE 1 << 2 波形アーカイブ

ロードに必要なメモリは、サウンドヒープheapから、 NNS_SndHeapAlloc関数で自動的に確保されます。 メモリの確保に失敗すると、処理を中断して、FALSEを返します。

既にメモリ上にあるサウンドデータについては、ロードは実行されません。 サウンドデータがメモリ上にあるかどうかの判定は、 NNS_SndArcGetFileAddress関数で行っています。 また、ロードに成功したデータは、 NNS_SndArcSetFileAddress関数で、 アドレスをセットしています。

一度に行う読み込みサイズを制限したい場合は、 NNS_SndArcSetLoadBlockSize関数で、 ロードブロックサイズを設定してください。

注意

この関数は、 NNS_SndArcInit関数で初期化されたサウンドアーカイブに対して使います。 NNS_SndArcInitOnMemory関数で 初期化されたサウンドアーカイブに対しては使えません。

参照

NNS_SndHeapAlloc, NNS_SndArcGetFileAddress, NNS_SndArcSetFileAddress, NNS_SndArcSetLoadBlockSize, NNS_SndArcInit, NNS_SndArcInitOnMemory

履歴

2007/10/17 NNS_SndArcSetLoadBlockSize関数に関する説明追加
2004/06/01 初版