Microsoft DirectX 8.0 (C++)

オーディオパス形式

次の表記法は、オーディオパス形式の編成を示している。

RIFF( 'DMAP' 
    [<guid-ck>]        // パスの GUID
    [<vers-ck>]        // バージョン情報
    [<UNFO-list>]      // 名前、作者、著作権、コメント
    [<DMTG-form>]      // ツールグラフ
    [<pcsl-list>]      // ポート構成
    [<dbfl-list>]...// DirectSound バッファ ディスクリプタ
)

すべての要素が省略可能である。

<guid-ck>、<vers-ck>、<UNFO-list>

これらの 3 つのチャンクについては、「共通のチャンク」を参照すること。

<DMTG-form>

ツールグラフ形式」を参照すること。

<pcsl-list>

このリストには、ポートの構成に関する情報が格納される。

<pcsl-list> -> LIST( 'pcsl'
    <pcfl-list>...
    )

ポート構成リストは、次の形式のリストの配列である。

LIST( 'pcfl' 
    <pcfh-ck>          // ヘッダー チャンク
    <pprh-ck>          // ポートの作成に使われるポート パラメータ
    [<dbfl-list>]...// DirectSound バッファ ディスクリプタ
    [<pchl-list>]      // P チャンネルのバッファへの割り当て
    )

ポート構成リストは複数のチャンクで構成され、次のようにポート構成とパラメータを表すヘッダーが先頭に付く。

<pcfh-ck> -> pcfh( <DMUS_IO_PORTCONFIG_HEADER> )
 
<pprh-ck> -> pprh( <DMUS_PORTPARAMS8> )

オプションのバッファ ディスクリプタは、次の形式で各チャンク内に格納される。

<dbfl-list> -> LIST( 'dbfl'
    <ddah-ck>       // バッファ属性ヘッダー
    [<DSBC-form>]   // バッファ構成
)

バッファ記述リストの先頭には、バッファの属性を表すヘッダーが付く。

<ddah-ck> -> ( 'ddah' < DMUS_IO_BUFFER_ATTRIBUTES_HEADER > )

ヘッダーの後には、オプションの DirectSound バッファ構成形式が続く。これは標準バッファ形式には不要である。

ポート構成リストの最後のチャンクは、バッファへのパフォーマンス チャンネルの割り当て情報を格納するリストである。

pchl-list -> LIST( 'pchl'
    <pchh-ck>...  
)

このリストは、それぞれがバッファへのチャンネルの 1 つの割り当てを表すチャンクの配列である。

<pchh-ck> -> pchh(
    <DMUS_IO_PCHANNELTOBUFFER_HEADER>
    <GUID>...// バッファを指定する GUID の配列
)

<dbfl-list>

オーディオパス形式の最後の部分には、オプションのバッファ ディスクリプタが、ポート構成リスト <pcsl-list> と同じ形式で格納される。