Platform SDK: DirectX |
次の表記法は、スタイル ファイルの最上位レベルのチャンクの構成を示している。
RIFF( 'DMST' <styh-ck> // スタイル ヘッダー チャンク <guid-ck> // 一意の識別子 [<UNFO-list>] // 名前、作者、著作権情報、コメント [<vers-ck>] // バージョン チャンク <part-list>...// パターンで使用される、スタイル中のパートのリスト <pttn-list>...// スタイル中のパターンのリスト <DMBD-form>...// スタイル中のバンドのリスト [<motf-list>] // スタイル中のモチーフのリスト [<prrf-list>] // スタイル中のコード マップ参照のリスト )
個々のチャンクおよびそのサブチャンクの詳細は、次のとおりである。
<styh-ck> -> styh( <DMUS_IO_STYLE> )
このチャンクには、スタイルの基本的なヘッダー情報が含まれる。次の 3 つのチャンクについては、「共通のチャンク」を参照すること。
次のチャンクは、スタイルの各ミュージック パートのチャンクである。
<part-list> -> LIST('part' <prth-ck> // パート ヘッダー チャンク [<UNFO-list>] [<note-ck>] // パートの音符のリスト [<crve-ck>] // パートの曲線のリスト )
上の例に示すように、パート リストにはヘッダー、オプションの UNFO チャンク、および音符と曲線のリストが含まれる (UNFO リストについては、「共通のチャンク」を参照すること)。
<prth-ck> -> prth( <DMUS_IO_STYLEPART> ) <note-ck> -> note( < DWORD > // DMUS_IO_STYLENOTE のサイズ < DMUS_IO_STYLENOTE >... ) <crve-ck> -> crve( < DWORD > // DMUS_IO_STYLECURVE のサイズ < DMUS_IO_STYLECURVE >... )
パート リスト チャンクの次は、パターン リスト チャンクである。
<pttn-list> -> LIST( 'pttn' <ptnh-ck> // パターン ヘッダー チャンク <rhtm-ck> // コード マッチング用のリズムのリスト [<UNFO-list>] [<mtfs-ck>] // モチーフ設定チャンク <pref-list>...// パート参照 ID のリスト )
パターン リストは、次のサブチャンクで構成される (オプションの UNFO リストについては、「共通のチャンク」を参照すること)。
<ptnh-ck> -> ptnh( < DMUS_IO_PATTERN > ) <rhtm-ck> -> rhtm( < DWORD >... )
このチャンクは、各小節ごとに 1 つの DWORD 配列で構成され、リズム パターンを表す。ビットの配置については、DMUS_RHYTHM_PARAM の dwRhythmPattern メンバを参照すること。
<mtfs-ck> -> mtfs( < DMUS_IO_MOTIFSETTINGS > ) <pref-list> -> LIST( 'pref' <prfc-ck> // パート参照チャンク )
続いて、"pref" チャンクはパート参照の配列で構成される。
<prfc-ck> -> prfc( < DMUS_IO_PARTREF > )
スタイル形式の最後のチャンクは、コード マップ参照のリストである。
<prrf-list> -> LIST( 'prrf' <DMRF-list>... )
<DMRF-list> の詳細については、「共通のチャンク」を参照すること。