Microsoft DirectX 8.0 (C++) |
次の表記法は、スタイル ファイルの最上位レベルのチャンクの構成を示している。この形式は、コンテナ形式内に含めることもできる。
RIFF( 'DMST' <styh-ck> // スタイル ヘッダー チャンク <guid-ck> // 一意の識別子 [<UNFO-list>] // 名前、作者、著作権情報、コメント [<vers-ck>] // バージョン チャンク <part-list>...// パターンで使用される、スタイル中のパートの配列 <pttn-list>...// スタイル中のパターンの配列 <DMBD-form>...// スタイル中のバンドのリスト [<prrf-list>] // スタイル中のコード マップ参照のリスト )
このチャンクには、スタイルの基本的なヘッダー情報が含まれる。
<styh-ck> -> styh( <DMUS_IO_STYLE> )
これらの 3 つのチャンクについては、「共通のチャンク」を参照すること。
スタイル内の各パートは、チャンク内に次の形式で記述される。
<part-list> -> LIST('part' <prth-ck> // パート ヘッダー チャンク [<UNFO-list>] [<note-ck>] // パート中のノート [<crve-ck>] // パート中のカーブ [<mrkr-ck>] // パート中のマーカー [<rsln-ck>] // パート中のバリエーション分解能 [<anpn-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 >... ) <mrkr-ck> -> mrkr( < DWORD > // DMUS_IO_STYLEMARKER のサイズ < DMUS_IO_STYLEMARKER >... ) <rsln-ck> -> rsln( < DWORD > // DMUS_IO_STYLERESOLUTION のサイズ < DMUS_IO_STYLERESOLUTION >... ) <anpn-ck> -> anpn( < DWORD > Size of DMUS_IO_STYLE_ANTICIPATION < DMUS_IO_STYLE_ANTICIPATION >... )
各パターンは、チャンク内に次の形式で記述される。
<pttn-list> -> LIST( 'pttn' <ptnh-ck> // パターン ヘッダー チャンク <rhtm-ck> // コード マッチング用のリズムのリスト <swpt-ck> // パターン スイッチ ポイントのリスト [<UNFO-list>] [<mtfs-ck>] // モチーフ設定チャンク [<DMBD-form>] // パターンに関連付けられたバンド // (モチーフ用) <pref-list>...// パート参照 ID の配列 )
パターン リストの最初のチャンクは、ヘッダーである。
<ptnh-ck> -> ptnh( <DMUS_IO_PATTERN> )
2 番目のチャンクは、リズム リストである。
<rhtm-ck> -> rhtm( <DWORD>... )
このチャンクは、各小節ごとに 1 つの DWORD 配列で構成され、リズム パターンを表す。ビットの配置については、DMUS_RHYTHM_PARAM の dwRhythmPattern メンバを参照すること。
パターン リストの 3 番目のチャンクは、スイッチ ポイント チャンクである。
<swpt-ck> -> swpt( <DWORD>... )
スイッチ ポイント チャンクは、各小節ごとに 1 つの DWORD 配列で構成され、パターンが開始できる有効なポイントを表す。
オプションの UNFO リストについては、「共通のチャンク」を参照すること。
パターン リストの次のチャンクは、モチーフ設定を表す。
<mtfs-ck> -> mtfs( <DMUS_IO_MOTIFSETTINGS> )
パターン リストの <DMBD-form> チャンクについては、「バンド形式」を参照すること。
パターン リストの最後のチャンクは、パート参照リストである。
<pref-list> -> LIST( 'pref' <prfc-ck> // パート参照チャンク )
要素はパート参照のみである。
<prfc-ck> -> prfc( <DMUS_IO_PARTREF> )
スタイル形式の次のチャンクは、バンド形式である。
最後のチャンクには、コード マップ参照の配列が含まれる。
<prrf-list> -> LIST( 'prrf' <DMRF-list>... )
<DMRF-list> の詳細については、「参照リスト」を参照すること。