# NNSSndArcGroupItem

## 定義

      #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 )

      typedef struct NNSSndArcGroupItem
      {
          u8 type;
          u8 loadFlag;
          u16 padding;
          u32 index;
      } NNSSndArcGroupItem;

## 要素

`type` | ロードするデータの種類です。
`loadFlag` | どのデータをロードするかを指定するフラグです。
`padding` | パディングです。
`index` | ロードするデータのインデックス番号です。

## 説明

グループ情報構造体NNSSndArcGroupInfo中のグループ項目構造体です。 グループ中で、どのデータをロードするのかを示す情報が格納されています。

ロードするデータの種類`type`は、下記のenum NNSSndArcSndTypeの内の一つが入っています。

    enum NNSSndArcSndType {
        NNS_SNDARC_SNDTYPE_SEQ,
        NNS_SNDARC_SNDTYPE_BANK,
        NNS_SNDARC_SNDTYPE_WAVEARC,
        NNS_SNDARC_SNDTYPE_SEQARC,

        NNS_SNDARC_SNDTYPE_INVALID = 0xff
    };

どのデータをロードするかを指定するフラグ`loadFlag`には、下記のマクロの論理和が入っています。

表 . ロードフラグ

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

## 参照

NNSSndArcGroupInfo

## 履歴

2004/06/01 初版