DMUS_REGION
DLS ダウンロード用のリージョンを定義する。1 つまたは複数のリージョンを 1 つの音色バッファに埋め込み、音色ヘッダー チャンク DMUS_INSTRUMENT によって参照できる。
typedef struct {
RGNRANGE RangeKey;
RGNRANGE RangeVelocity;
USHORT fusOptions;
USHORT usKeyGroup;
ULONG ulRegionArtIdx;
ULONG ulNextRegionIdx;
ULONG ulFirstExtCkIdx;
WAVELINK WaveLink;
WSMPL WSMP;
WLOOP WLOOP[1];
} DMUS_REGION;
メンバ
- RangeKey
- このリージョンのキー範囲。
- RangeVelocity
- このリージョンのベロシティ範囲。
- fusOptions
- このリージョンの合成オプション。次のフラグが定義されている。
- F_RGN_OPTION_SELFNONEXCLUSIVE
- 合成エンジンが同じノートの 2 回目のノートオンを受け取ると、2 番目のノートは最初のノートと同様に演奏される。デフォルトではこのオプションはオフになっているので、合成エンジンは最初のノートにノートオフを強制的に適用する。
- usKeyGroup
- ドラム楽器のキー グループ。キー グループの値により、同じグループに所属する 1 つのドラム楽器内で複数のリージョンを利用できる。あるキー グループを指定してあるノートを演奏しているときに、同じキー グループを指定してほかのノートを演奏するよう合成エンジンが指示を受けた場合、合成エンジンは同じキー グループの値を持つほかのすべてのノートをできるだけ早くオフにすべきである。現在、キー グループ 1 〜 15 が有効であり、0 はキー グループが存在しないことを意味する。
- ulRegionArtIdx
- DMUS_OFFSETTABLE 構造体内にある、リージョンのグローバル アーティキュレーション チャンクのインデックス。この値が 0 の場合、リージョンはアーティキュレーションを保持せず、音色のグローバル アーティキュレーションに依存する。
- ulNextRegionIdx
- DMUS_OFFSETTABLE 構造体内にある、リージョン リスト内の次のリージョンのインデックス。この値が 0 の場合、それ以上リージョンはない。
- ulFirstExtCkIdx
- DMUS_OFFSETTABLE 構造体内にある、サードパーティ拡張チャンクのインデックス。この値が 0 の場合、リージョンには拡張チャンクが関連付けられていない。
- WaveLink
- リージョンからウェーブへのリンクを管理する、標準的な DLS 構造体 (Dls1.h ヘッダー ファイル内で宣言されている)。WAVELINK 構造体の ulTableIndex メンバは、関連付けられたウェーブ バッファのダウンロード識別子を提供する (詳細については、「DMUS_DOWNLOADINFO」と「下位レベル DLS」を参照すること)。
- WSMP
- ウェーブの再生を管理する、標準的な DLS 構造体 (Dls1.h 内で宣言されている )。cSampleLoops メンバが 1 の場合、続く WLOOP 構造体はループの開始ポイントと終了ポイントを保持する。
- WLOOP[ ]
- ループを記述する、標準的な DLS 構造体 (Dls1.h 内で宣言されている )。
ヘッダー : dmdls.h で宣言。